“基于常识知识的推理问题”源代码分析-语料库预处理

本文分析了基于常识知识的推理问题的源代码,重点在于预处理阶段,尤其是BERT编码在处理长字符串数据转换为数学模型理解形式中的关键作用。介绍了模型思想、任务定义、预处理必要性,并详细解析了corpus_prepro.py脚本,包括调用模块、加载NLP模型、flags参数、gkb语料库的格式化程序及主函数main的功能。
摘要由CSDN通过智能技术生成

2021SC@SDUSC

自从大约半个月之前更换到了新课题——“基于常识知识的推理问题”之后,我就一直在对这一新课题进行摸索。虽然我负责的项目是OpenCSR这一论文项目的源代码解析与运行,但是我还是花了一些时间去稍微了解一下梁同学负责的ACP_CSQA项目,一方面是处于好奇,另一方面也是希望能够起到一些触类旁通的作用。目前来说,虽然不能对我自己负责的项目有所助力,但是我依旧从中收获了不少,在日后的代码解析过程中如果有相关相似的内容或者可以借鉴的地方,我会拿出来讲一讲。

接下来讲述这次源代码分析的内容。某种意义上来说,这是我更换课题以来的第一篇正式意义上的源代码分析报告,它主要的解析对象是corpus_prepro.py这个python脚本,其作用是对语料库进行预处理。当然,在讲述具体的代码的作用以及意义之前,我需要重申一遍,我所认定的核心源代码,是drfact这一模型的相关源代码。而drfact的算法原理需要基于一定的数据结构来实现其数学原理,因此对于原始语料库进行一定程度的预处理是必要的,我会在这篇报告中首先讲述其必要性。

一、模型思想与预处理的必要性

在阐述模型思想之前,首先需要理解OpenCSR项目所针对的是开放性的常识推理问题,即没有候选答案的常识推理,因此,它的任务定义也会和有候选答案的常识推理有所不同。基于这个任务定义,模型思想也会发生一些改变。

1.1 任务定义

F: 一个文本格式的事实知识语料库,其中每个文本f_i\in F描述了一段客观事实。

V:由语料库处理得到的概念集合(字典), c_i\in V表示一个名词或者名词短语。 

输入q: 一个常识问题(示例:什么可以缓解全球变暖)。

输出Output:{ a_i,, w_i……}

1.2 模型思想

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值