(最新)指代消解ontoNotes_Release_5.0处理详细流程

  • 最近在做指代消解的任务,目前才处理完数据部分,确实有些繁琐,因此记录

  • 准备用spanbert做的指代消解,用到的是该代码里的setup_training.sh文件: github代码

数据获取

  • 获取数据部分也需要耐心,参考以下博客(可以搭配看)

  • 注意事项

    • 在获取ontoNotes 5.0数据时,注册完LDC账号后,立马给LDC官方发邮件,告知你比较急,希望将你申请组织的管理员信息告诉你或者直接将你拉入组织。
    • 如果LDC告知你管理员信息,立马联系管理员。

数据处理

  • spanbert中的setup_training.sh脚本为例,我之前是在win10上处理的,最好在Linux上处理(别担心我也是linux小白)
  • 下方两个连接是官方的处理教程(参考即可)

步骤:

???? 1.在 数据处理教程1 中下载(都在该网页中):

???? 2. 将图中6个文件放在一个目录下,解压即可。

  • 前5个conll解压后生成conll-2012文件夹

  • 最后一个生成ontonotes-release-5.0文件夹

  • 到此才刚下载好数据

  • setup_training.sh部分
    (最新)指代消解ontoNotes_Release_5.0处理详细流程

???? 3. 执行setup_training.sh脚本

  • sh空格./setup_training.sh空格ontonotes-release-5.0路径空格conll-2012路径
  • 只要下图部分即可(下面部分也先去掉),因为这部分需要在python2运行,或者改成python3(我比较懒,文末有转换方法),不然会报错的
    (最新)指代消解ontoNotes_Release_5.0处理详细流程
    我自己的例子:
  • setup_training.shconll-2012 ontonotes-release-5.0在同一级目录中,转到该文件目录,执行:sh空格./setup_training.sh空格./ontonotes-release-5.0空格./
    (最新)指代消解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内容如下(之前未执行的):(最新)指代消解ontoNotes_Release_5.0处理详细流程

    • ./setup_training.sh <ontonotes/path/ontonotes-release-5.0> $data_dir(我是bash空格./setup_training.sh空格./ontonotes-release-5.0/空格./)

    ???? 5. 最后会在data_dir目录生成如下json文件

    (最新)指代消解ontoNotes_Release_5.0处理详细流程

  • 到此数据处理完毕,不足之处还请指出,我将及时更正。

  • If you are using Python 3.X, you have to edit the conll-2012/v3/scripts/skeleton2conll.py file

    • Change except InvalidSexprException, e: to except InvalidSexprException as e
    • Change all print to print()