首先跑通xnli的代码,根据xnli的中间结果或者数据格式来修改我们自己的任务.
修改 xnli 任务记得的几个坑:
1. 下载 XNLI-1.0.zip 报错了, 下载地址的问题, 根据ReadMe找到原始的下载地址, 修改为
xnli_http="https://www.nyu.edu/projects/bowman/xnli"
2. 安装
pip install jieba
conda install faiss-cpu -c pytorch (不能直接pip安装)
pip install transliterate
3. 在 .bashrc 文件中加入
export LC_ALL=C
并source .bashrc
4. 记得第一次把数据下载之后,要注释掉, 然后每次重新运行最好是将 embd 目录下面的文件清除一下, 前面错误导致生成的文件是空的或者错的, 会导致后面训练分类器的时候报错.
只要文件都生成正确了, 训练的代码没有什么问题.
查看生成的数据格式
1. XNLI的数据格式, 以 XNLI-1.0/xnli.dev.tsv 为例:
languageType neutral (global label) sentence1 | sentence2 1(pairID) 等其他用不到的label信息
2. 在embd文件下面对于每个文件都会生成三个后缀的文件分别是, tok, bpe, enc. 以及 cl 文件
比如 train 的 hyp 文件, 另外 prem 文件也是一样的:
xnli.train.hyp.tok.en # token 序列
i havent spoken to him again .
i was so upset that i just started talking to him again .
xnli.train.hyp.bpe.en # bpe序列
i ha@@ vent spo@@ ken to him again .
i was so up@@ set that i just started talking to