(最新)指代消解ontoNotes_Release_5.0处理详细流程
-
最近在做指代消解的任务,目前才处理完数据部分,确实有些繁琐,因此记录
-
准备用spanbert做的指代消解,用到的是该代码里的
setup_training.sh
文件: github代码
数据获取
-
获取数据部分也需要耐心,参考以下博客(可以搭配看)
-
注意事项:
- 在获取ontoNotes 5.0数据时,注册完LDC账号后,立马给LDC官方发邮件,告知你比较急,希望将你申请组织的管理员信息告诉你或者直接将你拉入组织。
- 如果LDC告知你管理员信息,立马联系管理员。
数据处理
- 以spanbert中的setup_training.sh脚本为例,我之前是在win10上处理的,最好在Linux上处理(别担心我也是linux小白)
- 下方两个连接是官方的处理教程(参考即可)
步骤:
???? 1.在 数据处理教程1 中下载(都在该网页中):
-
测试数据:conll-2012-test-official.v9.tar.gz 、conll-2012-test-supplementary.v9.tar.gz、conll-2012-test-key.tar.gz
-
ontonotes-release-5.0等加入组织后就可以下到
???? 2. 将图中6个文件放在一个目录下,解压即可。
-
前5个conll解压后生成conll-2012文件夹
-
最后一个生成ontonotes-release-5.0文件夹
-
到此才刚下载好数据
-
setup_training.sh部分
???? 3. 执行setup_training.sh脚本
-
sh
空格./setup_training.sh
空格ontonotes-release-5.0路径
空格conll-2012路径
-
只要下图部分即可(下面部分也先去掉),因为这部分需要在python2运行,或者改成python3(我比较懒,文末有转换方法),不然会报错的
我自己的例子: -
setup_training.sh
和conll-2012 ontonotes-release-5.0
在同一级目录中,转到该文件目录,执行:sh
空格./setup_training.sh
空格./ontonotes-release-5.0
空格./
???? 4. Setup(代码中markdowm文件的步骤)
-
以下这部分按顺序执行,建议在linux中操作,主要涉及到.so动态库,windows不太好操作。
-
配置环境:
pip install -r requirements.txt
-
export data_dir=</path/to/data_dir>
(我是 export data_dir=./) -
./setup_all.sh
: This builds the custom kernels(我是 bash ./setup_all.sh) -
现在的
setup_training.sh
内容如下(之前未执行的):-
./setup_training.sh <ontonotes/path/ontonotes-release-5.0> $data_dir
(我是bash
空格./setup_training.sh
空格./ontonotes-release-5.0/
空格./
)
???? 5. 最后会在
data_dir
目录生成如下json文件 -
-
到此数据处理完毕,不足之处还请指出,我将及时更正。
-
If you are using Python 3.X, you have to edit the
conll-2012/v3/scripts/skeleton2conll.py
file- Change
except InvalidSexprException, e:
toexcept InvalidSexprException as e
- Change all
print
toprint()
- Change