菜鸟笔记-DuReader阅读理解基线模型代码阅读笔记(二)——介绍及分词

更新时间:2023-06-23 14:37:58 阅读: 评论:0

菜鸟笔记-DuReader阅读理解基线模型代码阅读笔记(⼆)——介绍及分词数据部分请见上⼀篇⽂章:
官⽅基于了DuReader给了两个基线模型:( 和 ):
Match-LSTM是⼴泛应⽤的MRC模型,Match-LSTM为了在⽂章中找到答案,依次遍历⽂章,动态地将注意⼒权重与⽂章的每个标记进⾏匹配。最后,使⽤⼀个应答指针层来查找⽂章中的答案跨度。
BiDAF既使⽤了语境对问题的注意,⼜使⽤了问题对上下⽂的注意,从⽽突出了问题和上下⽂中的重要部分。然后,利⽤注意流层融合所有有⽤的信息,从⽽得到每个位置的向量表⽰。
每个模型分别给出了在百度的深度学习架构 和⾕歌的深度学习架构 中的实现,我主要阅读了其在TensorFlow中上的实现。
运⾏环境
我的运⾏环境如下表所⽰:
系统平台CPU内存GPU CUDA cuDNN Python tensorflow Ubuntu18.04411032G RTX 2080Ti10.07.4 37.4  2.0
怎么学习电脑
代码及数据集下载
代码的下载地址:
数据集下载地址:邓尼茨
代码下载后解压可以看到⽬录如下图所⽰:
数据集下载可以运⾏data/⽬录下的download.sh⽂件下载,可以直接下载原始数据和已经处理过的数据分别保存在data/raw/、
data/preprocesd/⽂件夹下,也可以⼿动从下载后解压到对应⽬录。
下载第三⽅依赖
bash download_thirdparty.sh
实习岗位
这个指令会⾃动下载评估代码并保存在utils/⽬录下。
分词
数据集下载后,运⾏基线系统前需要处理⼀下。中⽂⾃然语⾔处理的必不可少的处理过程是分词。最新的基线程序中,没找到关于分词的部分,为了保证完整性,我增加了分词的部分代码,使⽤的是jieba分词模型。分词需要对’question’,‘title’,‘paragraphs’,进⾏,将分词结果保存到’gmented_question’, ‘gmented_title’, ‘gmented_paragraphs’。
分词代码
为了便于理解,我们只对⼀⾏数据的分词进⾏展⽰。代码还是运⾏于jupyter notebook:
import json
怕冷吃什么药
import jieba
#读取数据
n =5
夸张f =open('./data/raw/ain.json','r',encoding='utf8')
for i in range(n):
line = f.readline()
f.clo()
sample = json.loads(line)
重视英文#分词函数
def g_word(text):
text_temp =list(jieba.cut(text))
return text_temp
#分割⼀个样本函数
def g_data(sample):
# 对answers和question进⾏分词
sample["gmented_answers"]=[g_word(answer)for answer in sample["answers"]]
sample["gmented_question"]= g_word(sample["question"])
for doc in sample["documents"]:
# 对每个篇章的title和paragraphs进⾏分词
doc["gmented_title"]= g_word(doc["title"])
doc["gmented_paragraphs"]=[g_word(para)for para in doc["paragraphs"]]
然后可以通过g_word、g_data函数分别对⽂本段、样例进⾏分词,如图:
冰心繁星春水
使⽤g_word对⽂本段进⾏分词:
会动的玩具
使⽤g_data对⼀个样本进⾏分词:
参考⽂献:

本文发布于:2023-06-23 14:37:58,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1051393.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:分词   下载   代码
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图