航旅纵横杯-任务3:细粒度文本级答案抽取(ERNIE3.0)

2023-10-24 00:30

本文主要是介绍航旅纵横杯-任务3:细粒度文本级答案抽取(ERNIE3.0),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

零.写在最前

该项目源于比赛《航旅纵横-领域知识问答测评》
中子任务三《航旅纵横杯-任务3:细粒度文本级答案抽取》

使用 ERNIE 3.0进行阅读理解答案抽取

在这里插入图片描述

快速命令行模型 训练+生成比赛结果:


cd work  # 切换到工作目录python pre.py # 生成符合格式的训练集,验证集,测试集python train.py # 训练模型python predict.py # 预测生成提交文件

一.安装PaddleNLP

AI Studio平台默认安装了Paddle和PaddleNLP,并定期更新版本。
如需手动更新Paddle,可参考飞桨安装说明,安装相应环境下最新版飞桨框架。

使用如下命令确保安装最新版PaddleNLP:

!pip install --upgrade paddlenlp

二.数据预处理

命令行模式生成相应的训练集,验证码,测试集

1.数据集准备

在本项目中 在work/data 目录已经准备好了解压完成的数据集以及任务2的结果文件

在这里插入图片描述

2.生成对应格式的训练集

cd work  # 切换到工作目录python pre.py  # 生成对应符合格式的训练集,验证集,测试集

生成的 训练集,验证集,测试集 在 /work/mine 目录下。

在这里插入图片描述

相关路径配置请看/work/config.py 文件

# -*- coding: utf-8 -*- config.py 文件
class Config(object):def __init__(self):self.dataPath = './data/'self.minePath = './mine/'self.pointsPath = './points/'self.logPath = './logs'self.use_gpu = 1
import paddle
import numpy as np
import pandas as pd
from config import Config
import json
import random
import csvclass Pre(object):relations = {}labels = {}keys = []def __init__(self):self.cf = Config()def _detail2dk(self, detail, islist = False):if islist == False:detail = detail.strip().replace(" ","").replace("'",'"')detail = json.loads(detail)dk = [str(i) for i in detail]dk = ','.join(dk)return dkdef _contents(self):contents = pd.read_excel(self.cf.dataPath+'/sections.xlsx')for i in range(len(contents)):dk = self._detail2dk(contents.loc[i]['detail'])key = contents.loc[i]['content-key']+'-'+dkself.keys.append(key)self.relations[key] = contents.loc[i]['text']def _data(self,mode='train'):myF = open('mine/'+mode+'.txt', 'w')if mode != 'test':f = open(self.cf.dataPath+'/'+mode+'.txt')else:f = open(self.cf.dataPath+'/task_2.txt')while True:line = f.readline()if not line:breakdata = line.strip().split('\t')data = json.loads(data[0])text = data['question']if text is None or text!=text:continuefor item in data['answer']:dk = self._detail2dk(item['detail'], True)key = item['content-key']+'-'+dkif key in self.relations:context = self.relations[key]location = item['location'] if mode != 'test' else [0,1]re = {'question':text,'context':context,'location':location}print(re)myF.write(json.dumps(re, ensure_ascii=False))myF.write('\n')def run(self):self._contents()self._data('train') # 生成训练集self._data('valid') # 生成验证集self._data('test')  # 生成测试集pre = Pre()
pre.run()

3.加载 paddlenlp.transformers.AutoTokenizer用于数据处理

由于文章加问题的文本长度可能大于max_seq_length,答案出现的位置有可能出现在文章最后,所以不能简单的对文章进行截断。

那么对于过长的文章,则采用滑动窗口将文章分成多段,分别与问题组合。再用对应的tokenizer转化为模型可接受的feature。doc_stride参数就是每次滑动的距离。滑动窗口生成InputFeature的过程如下图:

在这里插入图片描述

我们使用的预训练模型是ERNIE,ERNIE对中文数据的处理是以字为单位。PaddleNLP对于各种预训练模型已经内置了相应的tokenizer,指定想要使用的模型名字即可加载对应的tokenizer。

tokenizer的作用是将原始输入文本转化成模型可以接受的输入数据形式。

train_trans_func = partial(prepare_train_features, max_seq_length=self.max_seq_length, doc_stride=self.doc_stride,tokenizer=tokenizer)valid_trans_func = partial(prepare_validation_features, max_seq_length=self.max_seq_length, doc_stride=self.doc_stride,tokenizer=tokenizer)train_ds = trains.map(train_trans_func, batched=True, num_proc=4, remove_columns=column_names)valid_ds = valids.map(valid_trans_func, batched=True, num_proc=4, remove_columns=column_names)

4. Batchify和数据读入

使用paddle.io.BatchSampler和paddlenlp.data中提供的方法把数据组成batch。

然后使用paddle.io.DataLoader接口多线程异步加载数据。

batchify_fn详解:

在这里插入图片描述

# 定义BatchSampler
train_batch_sampler = paddle.io.DistributedBatchSampler(train_ds, batch_size=self.batch_size, shuffle=True)valid_batch_sampler = paddle.io.BatchSampler(valid_ds, batch_size=self.batch_size, shuffle=False)# 定义batchify_fn 将不同长度序列充到批中数据的最大长度,再将数据堆叠
train_batchify_fn = DataCollatorWithPadding(tokenizer)
vaild_batchify_fn = DataCollatorWithPadding(tokenizer)# 构造DataLoadertrain_data_loader = paddle.io.DataLoader(dataset=train_ds,batch_sampler=train_batch_sampler,collate_fn=train_batchify_fn,return_list=True)valid_data_loader = paddle.io.DataLoader(dataset=valid_ds_for_model,batch_sampler=valid_batch_sampler,collate_fn=vaild_batchify_fn,return_list=True)

三. 训练

# -*- coding: utf-8 -*-
import paddle
from dataset import Dataset
from config import Config
import paddlenlp
from paddlenlp.transformers import AutoModelForQuestionAnswering
from functools import partial
from paddlenlp.data import DataCollatorWithPadding
import time
from utils import prepare_train_features, prepare_validation_features, evaluate
from paddlenlp.datasets import MapDataset# 损失函数
class CrossEntropyLossForRobust(paddle.nn.Layer):def __init__(self):super(CrossEntropyLossForRobust, self).__init__()def forward(self, y, label):start_logits, end_logits = ystart_position, end_position = labelstart_position = paddle.unsqueeze(start_position, axis=-1)end_position = paddle.unsqueeze(end_position, axis=-1)start_loss = paddle.nn.functional.cross_entropy(input=start_logits, label=start_position)end_loss = paddle.nn.functional.cross_entropy(input=end_logits, label=end_position)loss = (start_loss + end_loss) / 2return lossclass Train(object):batch_size = 32epochs = 2data = Nonedef __init__(self):cf = Config()self.cf = cfself.logPath = cf.logPathself.pointsPath = cf.pointsPathself.use_gpu = cf.use_gpuself.dataset = Dataset()self.model_name = "ernie-3.0-medium-zh"self.max_seq_length = 512self.doc_stride = 128def run(self, startStp = 0):#开启GPUpaddle.set_device('gpu:0') if self.use_gpu else paddle.set_device('cpu')model = AutoModelForQuestionAnswering.from_pretrained(self.model_name)tokenizer = paddlenlp.transformers.ErnieTokenizer.from_pretrained(self.model_name)# 获取训练接和验证集trains = self.dataset.getData('train')valids = self.dataset.getData('valid')train_trans_func = partial(prepare_train_features, max_seq_length=self.max_seq_length, doc_stride=self.doc_stride,tokenizer=tokenizer)valid_trans_func = partial(prepare_validation_features, max_seq_length=self.max_seq_length, doc_stride=self.doc_stride,tokenizer=tokenizer)column_names = trains.column_namestrain_ds = trains.map(train_trans_func, batched=True, num_proc=4, remove_columns=column_names)valid_ds = valids.map(valid_trans_func, batched=True, num_proc=4, remove_columns=column_names)valid_ds_for_model = valid_ds.remove_columns(["example_id", "offset_mapping"])# 定义BatchSamplertrain_batch_sampler = paddle.io.DistributedBatchSampler(train_ds, batch_size=self.batch_size, shuffle=True)valid_batch_sampler = paddle.io.BatchSampler(valid_ds, batch_size=self.batch_size, shuffle=False)# 定义batchify_fn 将不同长度序列充到批中数据的最大长度,再将数据堆叠train_batchify_fn = DataCollatorWithPadding(tokenizer)vaild_batchify_fn = DataCollatorWithPadding(tokenizer)# 构造DataLoadertrain_data_loader = paddle.io.DataLoader(dataset=train_ds,batch_sampler=train_batch_sampler,collate_fn=train_batchify_fn,return_list=True)valid_data_loader = paddle.io.DataLoader(dataset=valid_ds_for_model,batch_sampler=valid_batch_sampler,collate_fn=vaild_batchify_fn,return_list=True)#self.log_writer = LogWriter(self.cf.logPath)learning_rate = 3e-5 # 训练轮次epochs = 2# 学习率预热比例warmup_proportion = 0.1# 权重衰减系数,类似模型正则项策略,避免模型过拟合weight_decay = 0.01num_training_steps = len(train_data_loader) * epochs# 学习率衰减策略lr_scheduler = paddlenlp.transformers.LinearDecayWithWarmup(learning_rate, num_training_steps, warmup_proportion)decay_params = [p.name for n, p in model.named_parameters()if not any(nd in n for nd in ["bias", "norm"])]optimizer = paddle.optimizer.AdamW(learning_rate=lr_scheduler,parameters=model.parameters(),weight_decay=weight_decay,apply_decay_param_fun=lambda x: x in decay_params)criterion = CrossEntropyLossForRobust()global_step = 0 #迭代次数for epoch in range(1, self.epochs + 1):for step, batch in enumerate(train_data_loader, start=1):logits = model(input_ids=batch["input_ids"], token_type_ids=batch["token_type_ids"])loss = criterion(logits, (batch["start_positions"],batch["end_positions"]))# 每迭代10次,打印损失函数值、准确率、f1分数、计算速度global_step += 1if global_step % 2 == 0:print("global step %d, epoch: %d, batch: %d, loss: %.5f" % (global_step, epoch, step, loss))# 反向梯度回传,更新参数loss.backward()optimizer.step()lr_scheduler.step()optimizer.clear_grad()paddle.save(model.state_dict(), './{}/epoch{}'.format(self.pointsPath,epoch)+'.pdparams')evaluate(model=model, raw_dataset=valids, dataset=valid_ds, data_loader=valid_data_loader, is_test=False) train = Train()
train.run(startStp=1)

模型存放在points 下,这里设置每隔一个epoch 保存一次。

#2: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 6/6 [00:19<00:00,  3.18s/ba]
#1: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 6/6 [00:19<00:00,  3.33s/ba]
#3: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 6/6 [00:19<00:00,  3.32s/ba]
#0: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 6/6 [00:22<00:00,  3.80s/ba]
#1: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:05<00:00,  5.42s/ba]
#0: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:06<00:00,  6.28s/ba]
#3: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:05<00:00,  5.21s/ba]
#2: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:05<00:00,  5.55s/ba]
global step 2, epoch: 1, batch: 2, loss: 6.19202
global step 4, epoch: 1, batch: 4, loss: 5.69212██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:05<00:00,  5.55s/ba]
global step 6, epoch: 1, batch: 6, loss: 6.11376
global step 8, epoch: 1, batch: 8, loss: 4.85116
global step 10, epoch: 1, batch: 10, loss: 5.58772
global step 12, epoch: 1, batch: 12, loss: 5.49642
global step 14, epoch: 1, batch: 14, loss: 4.63017
global step 16, epoch: 1, batch: 16, loss: 5.02932
global step 18, epoch: 1, batch: 18, loss: 4.73517
global step 20, epoch: 1, batch: 20, loss: 4.61867
global step 22, epoch: 1, batch: 22, loss: 5.45716
global step 24, epoch: 1, batch: 24, loss: 4.77610
global step 26, epoch: 1, batch: 26, loss: 4.72585
global step 28, epoch: 1, batch: 28, loss: 3.90319
global step 30, epoch: 1, batch: 30, loss: 4.57513
global step 32, epoch: 1, batch: 32, loss: 3.65228
global step 34, epoch: 1, batch: 34, loss: 3.12624
global step 36, epoch: 1, batch: 36, loss: 2.92884
global step 38, epoch: 1, batch: 38, loss: 2.68613
global step 40, epoch: 1, batch: 40, loss: 2.69809
global step 42, epoch: 1, batch: 42, loss: 2.07025
global step 44, epoch: 1, batch: 44, loss: 2.21324
global step 46, epoch: 1, batch: 46, loss: 1.73097
global step 48, epoch: 1, batch: 48, loss: 1.67005
global step 50, epoch: 1, batch: 50, loss: 1.24114
global step 52, epoch: 1, batch: 52, loss: 1.22320
global step 54, epoch: 1, batch: 54, loss: 0.59721
global step 56, epoch: 1, batch: 56, loss: 0.66249
global step 58, epoch: 1, batch: 58, loss: 0.37631
global step 60, epoch: 1, batch: 60, loss: 0.24111Processing example: 1000
time per 1000: 3.0815114974975586
Processing example: 2000
time per 1000: 2.7513885498046875
Processing example: 3000
time per 1000: 2.774914264678955
{"exact": 61.25578703703704,"f1": 63.58074815619339,"total": 3456,"HasAns_exact": 61.25578703703704,"HasAns_f1": 63.58074815619339,"HasAns_total": 3456
}

四.预测并生成成比赛提交文件

生成的提交文件保存在 work/mine/task_3.txt

# -*- coding: utf-8 -*-
import paddle
from dataset import Dataset
from config import Config
import paddlenlp
from paddlenlp.transformers import AutoModelForQuestionAnswering
from functools import partial
from paddlenlp.data import DataCollatorWithPadding
import time
from utils import prepare_train_features, prepare_validation_features, evaluate
import jsonclass Predict(object):batch_size = 32data = Nonedef __init__(self):cf = Config()self.cf = cfself.pointsPath = cf.pointsPathself.use_gpu = cf.use_gpuself.dataset = Dataset()self.model_name = "ernie-3.0-medium-zh"self.max_seq_length = 512self.doc_stride = 128self.point = 2 # 训练模型pointdef run(self):#开启GPUpaddle.set_device('gpu:0') if self.use_gpu else paddle.set_device('cpu')# 加载模型model = AutoModelForQuestionAnswering.from_pretrained(self.model_name)param_dict = paddle.load('./{}/epoch{}'.format(self.pointsPath,self.point)+'.pdparams')model.load_dict(param_dict)model.eval()tokenizer = paddlenlp.transformers.ErnieTokenizer.from_pretrained(self.model_name)tests = self.dataset.getData('test')test_trans_func = partial(prepare_validation_features, max_seq_length=self.max_seq_length, doc_stride=self.doc_stride,tokenizer=tokenizer)column_names = tests.column_namestest_ds = tests.map(test_trans_func, batched=True, num_proc=4, remove_columns=column_names)test_ds_for_model = test_ds.remove_columns(["example_id", "offset_mapping"])# 定义BatchSamplertest_batch_sampler = paddle.io.BatchSampler(test_ds, batch_size=self.batch_size, shuffle=False)# 定义batchify_fn 将不同长度序列充到批中数据的最大长度,再将数据堆叠test_batchify_fn = DataCollatorWithPadding(tokenizer)# 构造DataLoadertest_data_loader = paddle.io.DataLoader(dataset=test_ds_for_model,batch_sampler=test_batch_sampler,collate_fn=test_batchify_fn,return_list=True)predictions = evaluate(model=model, raw_dataset=tests, dataset=test_ds, data_loader=test_data_loader, is_test=True)# 写入结果文件taskf_3 = open('mine/task_3.txt', 'w')f = open(self.cf.dataPath+'/task_2.txt')i = 0while True:line = f.readline()if not line:breakdata = line.strip().split('\t')data = json.loads(data[0])question = data['question']if question is None or question!=question:continueanswers = []for item in data['answer']:answer_text = predictions[tests['id'][i]]content_text = ''.join(tests['context'][i])start_pos = content_text.find(answer_text)end_pos = start_pos + len(answer_text)item['location'] = [start_pos, end_pos]item['detail-type'] = 'y-0'answers.append(item)i = i + 1re = {'question':question,'answer':answers}print(re)taskf_3.write(json.dumps(re, ensure_ascii=False))taskf_3.write('\n')predict = Predict()
predict.run()
#1: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:09<00:00,  4.81s/ba]
#0: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:10<00:00,  5.25s/ba]
#2: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:10<00:00,  5.10s/ba]
#3: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:09<00:00,  4.81s/ba]
Processing example: 1000██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:10<00:00,  4.56s/ba]
time per 1000: 6.122032165527344
Processing example: 2000██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:09<00:00,  4.15s/ba]
time per 1000: 3.9302053451538086
Processing example: 3000
time per 1000: 3.9717564582824707
Processing example: 4000
time per 1000: 4.209367513656616
Processing example: 5000
time per 1000: 3.832172393798828{'question': '航司什么时候可以网上值机', 'answer': [{'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_9', 'text'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_14', 'text'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_25', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_29', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_30', 'text'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_38', 'text'], 'location': [0, 2], 'detail-type': 'y-0'}]}
{'question': '带狗狗坐飞机如何办理托运?需要提前多久到机场办理手续啊?我坐的是 的飞机', 'answer': [{'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'title'], 'location': [0, 3], 'detail-type': 'y-0'}, {'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'texts', 35, 'text'], 'location': [0, 2], 'detail-type': 'y-0'}, {'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'texts', 48, 'table'], 'location': [0, 51], 'detail-type': 'y-0'}, {'content-key': '5b51357ecfbb47ae4a8667ecc0648a83', 'detail': ['h1_0', 0, 'h2_1', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '5b51357ecfbb47ae4a8667ecc0648a83', 'detail': ['h1_0', 0, 'h2_3', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '带猫猫坐飞机要做些什么,大概要多准备多少银子?', 'answer': [{'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'texts', 19, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'texts', 45, 'text'], 'location': [0, 5], 'detail-type': 'y-0'}, {'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'texts', 47, 'text'], 'location': [0, 5], 'detail-type': 'y-0'}, {'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'texts', 58, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '5b51357ecfbb47ae4a8667ecc0648a83', 'detail': ['h1_0', 0, 'h2_1', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '飞机座位图怎么看', 'answer': [{'content-key': '1d6fd236e26658f03e2041a7f5ba8f30', 'detail': ['h1_0', 0, 'texts', 4, 'text'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': '1d6fd236e26658f03e2041a7f5ba8f30', 'detail': ['h1_0', 0, 'texts', 5, 'text'], 'location': [0, 8], 'detail-type': 'y-0'}, {'content-key': '1d6fd236e26658f03e2041a7f5ba8f30', 'detail': ['h1_0', 0, 'texts', 10, 'text'], 'location': [0, 6], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_2', 'text'], 'location': [49, 50], 'detail-type': 'y-0'}, {'content-key': 'd2de1594eed084f1eae8adee7af2d504', 'detail': ['h1_0', 0, 'texts', 12, 'text'], 'location': [0, 6], 'detail-type': 'y-0'}, {'content-key': '46b1dd62e401cde37bcef159693d9c75', 'detail': ['h1_0', 0, 'texts', 12, 'text'], 'location': [0, 6], 'detail-type': 'y-0'}, {'content-key': '39aaa9e14ed4b093e69530e17a3c624a', 'detail': ['h1_0', 0, 'texts', 14, 'text'], 'location': [0, 6], 'detail-type': 'y-0'}]}
{'question': '行李托运限额多少斤', 'answer': [{'content-key': '014376012b92ea61fbf175090fa6a2d9', 'detail': ['h3_0', 0, 'texts', 0, 'table'], 'location': [0, 44], 'detail-type': 'y-0'}, {'content-key': '9b7ace40c5a6f354f18239b7ec1c5a3e', 'detail': ['h3_0', 0, 'title'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': '9b7ace40c5a6f354f18239b7ec1c5a3e', 'detail': ['h3_1', 0, 'title'], 'location': [0, 7], 'detail-type': 'y-0'}, {'content-key': '9b7ace40c5a6f354f18239b7ec1c5a3e', 'detail': ['h3_1', 0, 'texts', 0, 'text'], 'location': [0, 34], 'detail-type': 'y-0'}, {'content-key': '9b7ace40c5a6f354f18239b7ec1c5a3e', 'detail': ['h3_1', 0, 'h4_0', 0, 'texts', 0, 'table'], 'location': [0, 51], 'detail-type': 'y-0'}]}
{'question': '航司737公务舱', 'answer': [{'content-key': '7756991f4eb13b712b8281e6b0c4ae12', 'detail': ['h1_0', 0, 'texts', 0, 'img'], 'location': [0, 39], 'detail-type': 'y-0'}, {'content-key': '7756991f4eb13b712b8281e6b0c4ae12', 'detail': ['h1_0', 0, 'texts', 1, 'img'], 'location': [0, 39], 'detail-type': 'y-0'}, {'content-key': '7756991f4eb13b712b8281e6b0c4ae12', 'detail': ['h1_0', 0, 'texts', 2, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '7756991f4eb13b712b8281e6b0c4ae12', 'detail': ['h1_0', 0, 'texts', 5, 'text'], 'location': [0, 22], 'detail-type': 'y-0'}, {'content-key': '771d5ab4c05e0cc7fad223356ecc73aa', 'detail': ['h1_0', 0, 'texts', 24, 'text'], 'location': [0, 22], 'detail-type': 'y-0'}]}
{'question': '没有大人陪伴的儿童,到了机场我是到哪里去接呢', 'answer': [{'content-key': 'b8421d91262579550acfea5a214aab8f', 'detail': ['h1_0', 0, 'texts', 0, 'text'], 'location': [1, 4], 'detail-type': 'y-0'}, {'content-key': 'b8421d91262579550acfea5a214aab8f', 'detail': ['h1_0', 0, 'texts', 14, 'text'], 'location': [0, 11], 'detail-type': 'y-0'}, {'content-key': 'b8421d91262579550acfea5a214aab8f', 'detail': ['h1_0', 0, 'texts', 22, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': 'b8421d91262579550acfea5a214aab8f', 'detail': ['h1_0', 0, 'texts', 39, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '0776484dcef8f22446651bdef0e4326e', 'detail': ['h1_0', 0, 'h2_1', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '手机机票选好座位如何更改', 'answer': [{'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_25', 'text'], 'location': [0, 2], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_29', 'text'], 'location': [0, 2], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_38', 'text'], 'location': [0, 2], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_48', 'title'], 'location': [36, 37], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_48', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '开延误证明', 'answer': [{'content-key': 'd1056dc8f8e616c873489709e683edf8', 'detail': ['h1_0', 0, 'h2_0', 'text'], 'location': [184, 186], 'detail-type': 'y-0'}, {'content-key': 'd1056dc8f8e616c873489709e683edf8', 'detail': ['h1_0', 0, 'h2_9', 'text'], 'location': [43, 44], 'detail-type': 'y-0'}, {'content-key': 'd1056dc8f8e616c873489709e683edf8', 'detail': ['h1_0', 0, 'h2_11', 'text'], 'location': [39, 40], 'detail-type': 'y-0'}, {'content-key': 'a70b485fef83735134417de0ab768e37', 'detail': ['h2_1', 0, 'h3_21', 0, 'texts', 0, 'text'], 'location': [40, 41], 'detail-type': 'y-0'}, {'content-key': 'a70b485fef83735134417de0ab768e37', 'detail': ['h2_1', 0, 'h3_23', 0, 'texts', 0, 'text'], 'location': [37, 38], 'detail-type': 'y-0'}]}
{'question': '我的座位被修改了???', 'answer': [{'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_25', 'text'], 'location': [0, 2], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_29', 'text'], 'location': [0, 2], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_38', 'text'], 'location': [0, 2], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_48', 'title'], 'location': [36, 37], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_48', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '申请取消6月17深圳到上海的厦航值机', 'answer': [{'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_2', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_25', 'text'], 'location': [0, 2], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_29', 'text'], 'location': [0, 2], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_37', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_38', 'text'], 'location': [0, 2], 'detail-type': 'y-0'}]}
{'question': '航司电话', 'answer': [{'content-key': 'd030d80c90525a992daaf4f30d6bbc96', 'detail': ['h1_0', 0, 'texts', 59, 'img'], 'location': [0, 43], 'detail-type': 'y-0'}, {'content-key': 'd030d80c90525a992daaf4f30d6bbc96', 'detail': ['h1_0', 0, 'texts', 63, 'img'], 'location': [0, 43], 'detail-type': 'y-0'}, {'content-key': 'd030d80c90525a992daaf4f30d6bbc96', 'detail': ['h1_0', 0, 'texts', 65, 'img'], 'location': [0, 43], 'detail-type': 'y-0'}, {'content-key': '360bd038cf4dc139a858f8118ff1e6cf', 'detail': ['h1_0', 0, 'h2_28', 'text'], 'location': [0, 42], 'detail-type': 'y-0'}, {'content-key': 'e68660af5d233eaa37ce2f2241f6b042', 'detail': ['h1_0', 0, 'h2_30', 'text'], 'location': [0, 42], 'detail-type': 'y-0'}]}
{'question': '网上订票能开具发票吗?在哪办理?', 'answer': [{'content-key': 'ca2b35de604199c9344f0c1037453f4c', 'detail': ['h1_0', 0, 'h2_33', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': 'ca2b35de604199c9344f0c1037453f4c', 'detail': ['h1_0', 0, 'h2_34', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': 'ca2b35de604199c9344f0c1037453f4c', 'detail': ['h1_0', 0, 'h2_35', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': 'ca2b35de604199c9344f0c1037453f4c', 'detail': ['h1_0', 0, 'h2_43', 'text'], 'location': [0, 13], 'detail-type': 'y-0'}, {'content-key': 'ca2b35de604199c9344f0c1037453f4c', 'detail': ['h1_0', 0, 'h2_61', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '起飞前10分钟还可以上飞机', 'answer': [{'content-key': '8f4f560a6087c88394afc18db6b04448', 'detail': ['h1_0', 0, 'h2_6', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_2', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_11', 'title'], 'location': [0, 21], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_11', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '0d903b873c849cf00d654414b7db5a9e', 'detail': ['h1_0', 0, 'h2_0', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '飞机上有水的吗', 'answer': [{'content-key': 'f1ffec3235891c1c968f963cb351be7b', 'detail': ['h1_0', 0, 'texts', 6, 'text'], 'location': [0, 16], 'detail-type': 'y-0'}, {'content-key': 'f1ffec3235891c1c968f963cb351be7b', 'detail': ['h1_0', 0, 'texts', 7, 'text'], 'location': [0, 14], 'detail-type': 'y-0'}, {'content-key': 'f1ffec3235891c1c968f963cb351be7b', 'detail': ['h1_0', 0, 'texts', 11, 'text'], 'location': [0, 17], 'detail-type': 'y-0'}, {'content-key': '9b4ca308497d61f693c947f34d78dc75', 'detail': ['h1_0', 0, 'texts', 7, 'text'], 'location': [0, 24], 'detail-type': 'y-0'}, {'content-key': '9b4ca308497d61f693c947f34d78dc75', 'detail': ['h1_0', 0, 'texts', 9, 'text'], 'location': [0, 24], 'detail-type': 'y-0'}]}
{'question': '航空公司随身行李规定', 'answer': [{'content-key': '8720672741b5d96c1ccb365c6b5d0a27', 'detail': ['h4_0', 0, 'texts', 0, 'table'], 'location': [0, 51], 'detail-type': 'y-0'}, {'content-key': '8720672741b5d96c1ccb365c6b5d0a27', 'detail': ['h4_1', 0, 'texts', 0, 'table'], 'location': [0, 51], 'detail-type': 'y-0'}, {'content-key': '8720672741b5d96c1ccb365c6b5d0a27', 'detail': ['h4_2', 0, 'texts', 0, 'table'], 'location': [0, 51], 'detail-type': 'y-0'}, {'content-key': '360bd038cf4dc139a858f8118ff1e6cf', 'detail': ['h1_0', 0, 'h2_24', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': 'e68660af5d233eaa37ce2f2241f6b042', 'detail': ['h1_0', 0, 'h2_25', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '飞机托运怎么取行李箱', 'answer': [{'content-key': '014376012b92ea61fbf175090fa6a2d9', 'detail': ['h3_1', 0, 'texts', 0, 'text'], 'location': [0, 21], 'detail-type': 'y-0'}, {'content-key': '014376012b92ea61fbf175090fa6a2d9', 'detail': ['h3_1', 0, 'texts', 1, 'text'], 'location': [0, 21], 'detail-type': 'y-0'}, {'content-key': '014376012b92ea61fbf175090fa6a2d9', 'detail': ['h3_1', 0, 'texts', 3, 'text'], 'location': [0, 27], 'detail-type': 'y-0'}, {'content-key': '014376012b92ea61fbf175090fa6a2d9', 'detail': ['h3_1', 0, 'texts', 4, 'text'], 'location': [0, 25], 'detail-type': 'y-0'}, {'content-key': 'c687e21856d0fb37c63724598155f6ee', 'detail': ['h1_0', 0, 'h2_7', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '飞机可以提前多久办理值机', 'answer': [{'content-key': '8f4f560a6087c88394afc18db6b04448', 'detail': ['h1_0', 0, 'h2_6', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_2', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_11', 'title'], 'location': [0, 21], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_11', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '0d903b873c849cf00d654414b7db5a9e', 'detail': ['h1_0', 0, 'h2_0', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '我在网站上定机票,行程订反了,买了一千多,现在只退到九十多块,请问这是怎么回事?', 'answer': [{'content-key': '360bd038cf4dc139a858f8118ff1e6cf', 'detail': ['h1_0', 0, 'h2_10', 'title'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': '360bd038cf4dc139a858f8118ff1e6cf', 'detail': ['h1_0', 0, 'h2_11', 'text'], 'location': [67, 68], 'detail-type': 'y-0'}, {'content-key': 'e68660af5d233eaa37ce2f2241f6b042', 'detail': ['h1_0', 0, 'h2_10', 'title'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': 'e68660af5d233eaa37ce2f2241f6b042', 'detail': ['h1_0', 0, 'h2_11', 'text'], 'location': [67, 68], 'detail-type': 'y-0'}, {'content-key': '57997c7ea0308171ca3be0cba3282df6', 'detail': ['h1_0', 0, 'h2_7', 'text'], 'location': [19, 20], 'detail-type': 'y-0'}]}
{'question': '带婴儿乘机出行,航司是否可提供针对性的服务,当航班变动时,以保证孩子在机上的安全', 'answer': [{'content-key': 'f19489de95e569022801db0ca1083e1b', 'detail': ['h1_0', 0, 'texts', 26, 'text'], 'location': [65, 66], 'detail-type': 'y-0'}, {'content-key': 'b8421d91262579550acfea5a214aab8f', 'detail': ['h1_0', 0, 'texts', 0, 'text'], 'location': [1, 4], 'detail-type': 'y-0'}, {'content-key': 'b8421d91262579550acfea5a214aab8f', 'detail': ['h1_0', 0, 'texts', 14, 'text'], 'location': [0, 11], 'detail-type': 'y-0'}, {'content-key': 'b8421d91262579550acfea5a214aab8f', 'detail': ['h1_0', 0, 'texts', 41, 'text'], 'location': [72, 73], 'detail-type': 'y-0'}, {'content-key': '0776484dcef8f22446651bdef0e4326e', 'detail': ['h1_0', 0, 'h2_7', 'text'], 'location': [40, 41], 'detail-type': 'y-0'}]}
{'question': '机场服务电话', 'answer': [{'content-key': 'd030d80c90525a992daaf4f30d6bbc96', 'detail': ['h1_0', 0, 'texts', 23, 'text'], 'location': [0, 17], 'detail-type': 'y-0'}, {'content-key': 'd030d80c90525a992daaf4f30d6bbc96', 'detail': ['h1_0', 0, 'texts', 27, 'img'], 'location': [0, 43], 'detail-type': 'y-0'}, {'content-key': 'd030d80c90525a992daaf4f30d6bbc96', 'detail': ['h1_0', 0, 'texts', 29, 'img'], 'location': [0, 43], 'detail-type': 'y-0'}, {'content-key': 'd030d80c90525a992daaf4f30d6bbc96', 'detail': ['h1_0', 0, 'texts', 61, 'img'], 'location': [0, 43], 'detail-type': 'y-0'}, {'content-key': 'd030d80c90525a992daaf4f30d6bbc96', 'detail': ['h1_0', 0, 'texts', 63, 'img'], 'location': [0, 43], 'detail-type': 'y-0'}]}
{'question': '浦东机场航司值机柜台', 'answer': [{'content-key': '064ec4b18fcea49a47a591e633e8410f', 'detail': ['h4_3', 0, 'texts', 38, 'text'], 'location': [0, 5], 'detail-type': 'y-0'}, {'content-key': '064ec4b18fcea49a47a591e633e8410f', 'detail': ['h4_3', 0, 'texts', 39, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '064ec4b18fcea49a47a591e633e8410f', 'detail': ['h4_3', 0, 'texts', 40, 'text'], 'location': [0, 5], 'detail-type': 'y-0'}, {'content-key': '064ec4b18fcea49a47a591e633e8410f', 'detail': ['h4_3', 0, 'texts', 41, 'text'], 'location': [0, 20], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_3', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '登机只能带一件行李吗', 'answer': [{'content-key': '8720672741b5d96c1ccb365c6b5d0a27', 'detail': ['h4_0', 0, 'texts', 0, 'table'], 'location': [0, 51], 'detail-type': 'y-0'}, {'content-key': '8720672741b5d96c1ccb365c6b5d0a27', 'detail': ['h4_1', 0, 'texts', 0, 'table'], 'location': [0, 51], 'detail-type': 'y-0'}, {'content-key': '8720672741b5d96c1ccb365c6b5d0a27', 'detail': ['h4_2', 0, 'texts', 0, 'table'], 'location': [0, 51], 'detail-type': 'y-0'}, {'content-key': '360bd038cf4dc139a858f8118ff1e6cf', 'detail': ['h1_0', 0, 'h2_24', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': 'e68660af5d233eaa37ce2f2241f6b042', 'detail': ['h1_0', 0, 'h2_25', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '航空有餐食吗', 'answer': [{'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_9', 'title'], 'location': [0, 11], 'detail-type': 'y-0'}, {'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_13', 'title'], 'location': [0, 12], 'detail-type': 'y-0'}, {'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_13', 'text'], 'location': [0, 11], 'detail-type': 'y-0'}, {'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_20', 'title'], 'location': [0, 14], 'detail-type': 'y-0'}, {'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_20', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '国际航班餐食', 'answer': [{'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_9', 'title'], 'location': [0, 11], 'detail-type': 'y-0'}, {'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_13', 'title'], 'location': [0, 12], 'detail-type': 'y-0'}, {'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_13', 'text'], 'location': [0, 11], 'detail-type': 'y-0'}, {'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_20', 'title'], 'location': [0, 14], 'detail-type': 'y-0'}, {'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_20', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '飞机托运零食有啥要求', 'answer': [{'content-key': '31f28e554c39022cc8a002ba471d8e38', 'detail': ['h1_0', 0, 'h2_1', 0, 'title'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': '31f28e554c39022cc8a002ba471d8e38', 'detail': ['h1_0', 0, 'h2_1', 0, 'texts', 9, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '31f28e554c39022cc8a002ba471d8e38', 'detail': ['h1_0', 0, 'h2_1', 0, 'texts', 10, 'text'], 'location': [93, 94], 'detail-type': 'y-0'}, {'content-key': '31f28e554c39022cc8a002ba471d8e38', 'detail': ['h1_0', 0, 'h2_2', 0, 'texts', 0, 'text'], 'location': [63, 64], 'detail-type': 'y-0'}, {'content-key': '31f28e554c39022cc8a002ba471d8e38', 'detail': ['h1_0', 0, 'h2_2', 0, 'texts', 2, 'text'], 'location': [0, 17], 'detail-type': 'y-0'}]}
{'question': '退机票基建燃油退不退', 'answer': [{'content-key': '0b2937a20ade69b49061c7966d3a8452', 'detail': ['h3_1', 0, 'texts', 0, 'text'], 'location': [0, 22], 'detail-type': 'y-0'}, {'content-key': 'e68660af5d233eaa37ce2f2241f6b042', 'detail': ['h1_0', 0, 'h2_11', 'title'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': 'e68660af5d233eaa37ce2f2241f6b042', 'detail': ['h1_0', 0, 'h2_11', 'text'], 'location': [67, 68], 'detail-type': 'y-0'}, {'content-key': '57997c7ea0308171ca3be0cba3282df6', 'detail': ['h1_0', 0, 'h2_2', 'title'], 'location': [0, 14], 'detail-type': 'y-0'}, {'content-key': '57997c7ea0308171ca3be0cba3282df6', 'detail': ['h1_0', 0, 'h2_7', 'text'], 'location': [19, 20], 'detail-type': 'y-0'}]}
{'question': '宠物航空托运怎么办理', 'answer': [{'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'title'], 'location': [0, 3], 'detail-type': 'y-0'}, {'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'texts', 11, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'texts', 38, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '5b51357ecfbb47ae4a8667ecc0648a83', 'detail': ['h1_0', 0, 'h2_1', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '5b51357ecfbb47ae4a8667ecc0648a83', 'detail': ['h1_0', 0, 'h2_3', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '空客320座位图', 'answer': [{'content-key': '1d6fd236e26658f03e2041a7f5ba8f30', 'detail': ['h1_0', 0, 'texts', 10, 'text'], 'location': [0, 6], 'detail-type': 'y-0'}, {'content-key': 'd2de1594eed084f1eae8adee7af2d504', 'detail': ['h1_0', 0, 'texts', 10, 'text'], 'location': [1, 23], 'detail-type': 'y-0'}, {'content-key': 'd2de1594eed084f1eae8adee7af2d504', 'detail': ['h1_0', 0, 'texts', 12, 'text'], 'location': [0, 6], 'detail-type': 'y-0'}, {'content-key': '46b1dd62e401cde37bcef159693d9c75', 'detail': ['h1_0', 0, 'texts', 10, 'text'], 'location': [1, 23], 'detail-type': 'y-0'}, {'content-key': '46b1dd62e401cde37bcef159693d9c75', 'detail': ['h1_0', 0, 'texts', 12, 'text'], 'location': [0, 6], 'detail-type': 'y-0'}, {'content-key': '4aa8aaa5516eb7dcc58bac2a50593f8f', 'detail': ['h1_0', 0, 'texts', 8, 'text'], 'location': [1, 23], 'detail-type': 'y-0'}, {'content-key': '4aa8aaa5516eb7dcc58bac2a50593f8f', 'detail': ['h1_0', 0, 'texts', 10, 'text'], 'location': [0, 6], 'detail-type': 'y-0'}]}
{'question': '航司电话', 'answer': [{'content-key': 'd030d80c90525a992daaf4f30d6bbc96', 'detail': ['h1_0', 0, 'texts', 59, 'img'], 'location': [0, 43], 'detail-type': 'y-0'}, {'content-key': 'd030d80c90525a992daaf4f30d6bbc96', 'detail': ['h1_0', 0, 'texts', 63, 'img'], 'location': [0, 43], 'detail-type': 'y-0'}, {'content-key': 'd030d80c90525a992daaf4f30d6bbc96', 'detail': ['h1_0', 0, 'texts', 65, 'img'], 'location': [0, 43], 'detail-type': 'y-0'}, {'content-key': '360bd038cf4dc139a858f8118ff1e6cf', 'detail': ['h1_0', 0, 'h2_28', 'text'], 'location': [0, 42], 'detail-type': 'y-0'}, {'content-key': 'e68660af5d233eaa37ce2f2241f6b042', 'detail': ['h1_0', 0, 'h2_30', 'text'], 'location': [0, 42], 'detail-type': 'y-0'}]}
{'question': '导盲犬和助听犬可以随主人进入客舱吗?', 'answer': [{'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'texts', 57, 'text'], 'location': [14, 40], 'detail-type': 'y-0'}, {'content-key': '714e2e784b91674c21e2f1ea0896e833', 'detail': ['h1_0', 0, 'texts', 6, 'text'], 'location': [0, 8], 'detail-type': 'y-0'}, {'content-key': '714e2e784b91674c21e2f1ea0896e833', 'detail': ['h1_0', 0, 'texts', 10, 'text'], 'location': [56, 57], 'detail-type': 'y-0'}, {'content-key': '5b51357ecfbb47ae4a8667ecc0648a83', 'detail': ['h1_0', 0, 'h2_2', 'title'], 'location': [0, 14], 'detail-type': 'y-0'}, {'content-key': '5b51357ecfbb47ae4a8667ecc0648a83', 'detail': ['h1_0', 0, 'h2_2', 'text'], 'location': [0, 17], 'detail-type': 'y-0'}]}
{'question': '没赶上飞机怎么办', 'answer': [{'content-key': '360bd038cf4dc139a858f8118ff1e6cf', 'detail': ['h1_0', 0, 'h2_10', 'title'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': '360bd038cf4dc139a858f8118ff1e6cf', 'detail': ['h1_0', 0, 'h2_10', 'text'], 'location': [0, 15], 'detail-type': 'y-0'}, {'content-key': '360bd038cf4dc139a858f8118ff1e6cf', 'detail': ['h1_0', 0, 'h2_13', 'title'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': 'e68660af5d233eaa37ce2f2241f6b042', 'detail': ['h1_0', 0, 'h2_10', 'title'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': 'e68660af5d233eaa37ce2f2241f6b042', 'detail': ['h1_0', 0, 'h2_10', 'text'], 'location': [0, 15], 'detail-type': 'y-0'}, {'content-key': 'e68660af5d233eaa37ce2f2241f6b042', 'detail': ['h1_0', 0, 'h2_13', 'title'], 'location': [0, 4], 'detail-type': 'y-0'}]}
{'question': '飞机托运行李麻烦吗 飞机行李托运怎么收费', 'answer': [{'content-key': '9b7ace40c5a6f354f18239b7ec1c5a3e', 'detail': ['h3_0', 0, 'texts', 0, 'table'], 'location': [0, 51], 'detail-type': 'y-0'}, {'content-key': '9b7ace40c5a6f354f18239b7ec1c5a3e', 'detail': ['h3_1', 0, 'title'], 'location': [0, 7], 'detail-type': 'y-0'}, {'content-key': '9b7ace40c5a6f354f18239b7ec1c5a3e', 'detail': ['h3_1', 0, 'texts', 0, 'text'], 'location': [0, 34], 'detail-type': 'y-0'}, {'content-key': '9b7ace40c5a6f354f18239b7ec1c5a3e', 'detail': ['h3_1', 0, 'h4_0', 0, 'texts', 0, 'table'], 'location': [0, 51], 'detail-type': 'y-0'}, {'content-key': '9b7ace40c5a6f354f18239b7ec1c5a3e', 'detail': ['h3_1', 0, 'h4_1', 0, 'texts', 0, 'table'], 'location': [0, 51], 'detail-type': 'y-0'}]}
{'question': '心脏起搏器能坐飞机吗', 'answer': [{'content-key': '5a2d14f14cba7cc72a174f7b0a725989', 'detail': ['h1_0', 0, 'texts', 3, 'text'], 'location': [0, 9], 'detail-type': 'y-0'}, {'content-key': '360bd038cf4dc139a858f8118ff1e6cf', 'detail': ['h1_0', 0, 'h2_5', 'title'], 'location': [1, 5], 'detail-type': 'y-0'}, {'content-key': '360bd038cf4dc139a858f8118ff1e6cf', 'detail': ['h1_0', 0, 'h2_10', 'title'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': '360bd038cf4dc139a858f8118ff1e6cf', 'detail': ['h1_0', 0, 'h2_13', 'title'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': '9af70e36b48c6dcb513f55172170e385', 'detail': ['h1_0', 0, 'h2_1', 'text'], 'location': [0, 0], 'detail-type': 'y-0'}]}
{'question': '请问70岁以上老人乘飞机,提示建议提供健康证明,如没有提供会不会影响登机', 'answer': [{'content-key': '221e26f97b81cfa347fe3275356f150a', 'detail': ['h1_0', 0, 'title'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': '221e26f97b81cfa347fe3275356f150a', 'detail': ['h1_0', 0, 'texts', 2, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '221e26f97b81cfa347fe3275356f150a', 'detail': ['h1_0', 0, 'texts', 3, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '221e26f97b81cfa347fe3275356f150a', 'detail': ['h1_0', 0, 'texts', 4, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '221e26f97b81cfa347fe3275356f150a', 'detail': ['h1_0', 0, 'texts', 11, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '哪些情况下可以办理手机值机', 'answer': [{'content-key': 'f410f732d54a1eca2c71a257b1959b99', 'detail': ['h1_0', 0, 'texts', 10, 'img'], 'location': [0, 47], 'detail-type': 'y-0'}, {'content-key': '0492b3cc07017025c44f5fb65d42d914', 'detail': ['h1_0', 0, 'texts', 9, 'img'], 'location': [0, 50], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_9', 'text'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_14', 'text'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_25', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_29', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_30', 'text'], 'location': [0, 4], 'detail-type': 'y-0'}]}
{'question': '飞机延误可以晚办登机牌吗', 'answer': [{'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_2', 'title'], 'location': [0, 12], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_2', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_11', 'title'], 'location': [0, 21], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_22', 'title'], 'location': [40, 41], 'detail-type': 'y-0'}, {'content-key': '8b1efca8af2eff91b012e3346128da24', 'detail': ['h1_0', 0, 'h2_22', 'text'], 'location': [0, 30], 'detail-type': 'y-0'}]}
{'question': '宠物猫上飞机需要什么申请流程', 'answer': [{'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'title'], 'location': [0, 3], 'detail-type': 'y-0'}, {'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'texts', 11, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'texts', 19, 'text'], 'location': [0, 0], 'detail-type': 'y-0'}, {'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'texts', 58, 'text'], 'location': [0, 0], 'detail-type': 'y-0'}, {'content-key': '5b51357ecfbb47ae4a8667ecc0648a83', 'detail': ['h1_0', 0, 'h2_1', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '5b51357ecfbb47ae4a8667ecc0648a83', 'detail': ['h1_0', 0, 'h2_3', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '飞机晚点提前多久通知', 'answer': [{'content-key': '8f4f560a6087c88394afc18db6b04448', 'detail': ['h1_0', 0, 'h2_6', 'title'], 'location': [0, 18], 'detail-type': 'y-0'}, {'content-key': '8f4f560a6087c88394afc18db6b04448', 'detail': ['h1_0', 0, 'h2_6', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_2', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_11', 'title'], 'location': [0, 21], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_11', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '航司付费升舱', 'answer': [{'content-key': '7756991f4eb13b712b8281e6b0c4ae12', 'detail': ['h1_0', 0, 'texts', 0, 'img'], 'location': [0, 39], 'detail-type': 'y-0'}, {'content-key': '7756991f4eb13b712b8281e6b0c4ae12', 'detail': ['h1_0', 0, 'texts', 1, 'img'], 'location': [0, 39], 'detail-type': 'y-0'}, {'content-key': '7756991f4eb13b712b8281e6b0c4ae12', 'detail': ['h1_0', 0, 'texts', 2, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '7756991f4eb13b712b8281e6b0c4ae12', 'detail': ['h1_0', 0, 'texts', 3, 'text'], 'location': [0, 13], 'detail-type': 'y-0'}, {'content-key': '7756991f4eb13b712b8281e6b0c4ae12', 'detail': ['h1_0', 0, 'texts', 5, 'text'], 'location': [0, 22], 'detail-type': 'y-0'}]}
{'question': '飞机过安检包里的东西要翻出来吗', 'answer': [{'content-key': 'e68660af5d233eaa37ce2f2241f6b042', 'detail': ['h1_0', 0, 'h2_4', 'title'], 'location': [1, 5], 'detail-type': 'y-0'}, {'content-key': '52dc8edfc394977c9d9c0c1952d6850a', 'detail': ['h1_0', 0, 'h2_8', 'title'], 'location': [0, 17], 'detail-type': 'y-0'}, {'content-key': '52dc8edfc394977c9d9c0c1952d6850a', 'detail': ['h1_0', 0, 'h2_8', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': 'fb6fa3d20230587005fe0bc6dc676422', 'detail': ['h1_0', 0, 'h2_0', 'text'], 'location': [0, 0], 'detail-type': 'y-0'}, {'content-key': '9b4ca308497d61f693c947f34d78dc75', 'detail': ['h1_0', 0, 'texts', 3, 'text'], 'location': [73, 74], 'detail-type': 'y-0'}]}
{'question': '昆明机场的瑞丽航空有截止办理时间吗?', 'answer': [{'content-key': '567eadd66fc7bc9629d929be3de65940', 'detail': ['h1_0', 0, 'texts', 0, 'table'], 'location': [0, 51], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_2', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_11', 'title'], 'location': [0, 21], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_11', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '52dc8edfc394977c9d9c0c1952d6850a', 'detail': ['h1_0', 0, 'h2_2', 'text'], 'location': [24, 40], 'detail-type': 'y-0'}]}
{'question': '坐飞机空姐给你东西吃要钱吗', 'answer': [{'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_9', 'title'], 'location': [0, 11], 'detail-type': 'y-0'}, {'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_13', 'text'], 'location': [0, 11], 'detail-type': 'y-0'}, {'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_19', 'text'], 'location': [81, 82], 'detail-type': 'y-0'}, {'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_20', 'title'], 'location': [0, 14], 'detail-type': 'y-0'}, {'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_20', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '蜂糖能过安检吗汽车站到', 'answer': [{'content-key': 'f1ffec3235891c1c968f963cb351be7b', 'detail': ['h1_0', 0, 'texts', 8, 'text'], 'location': [0, 9], 'detail-type': 'y-0'}, {'content-key': '52dc8edfc394977c9d9c0c1952d6850a', 'detail': ['h1_0', 0, 'h2_8', 'title'], 'location': [0, 17], 'detail-type': 'y-0'}, {'content-key': '52dc8edfc394977c9d9c0c1952d6850a', 'detail': ['h1_0', 0, 'h2_8', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '9b4ca308497d61f693c947f34d78dc75', 'detail': ['h1_0', 0, 'texts', 7, 'text'], 'location': [0, 24], 'detail-type': 'y-0'}, {'content-key': '9b4ca308497d61f693c947f34d78dc75', 'detail': ['h1_0', 0, 'texts', 9, 'text'], 'location': [0, 24], 'detail-type': 'y-0'}]}
{'question': '现在飞机都没有飞机餐吗', 'answer': [{'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_9', 'title'], 'location': [0, 11], 'detail-type': 'y-0'}, {'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_13', 'title'], 'location': [0, 12], 'detail-type': 'y-0'}, {'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_13', 'text'], 'location': [0, 11], 'detail-type': 'y-0'}, {'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_20', 'title'], 'location': [0, 14], 'detail-type': 'y-0'}, {'content-key': '072d85b2c0f07c7b22073fdca0542de5', 'detail': ['h1_0', 0, 'h2_20', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '机场停车场收费标准2020', 'answer': [{'content-key': '0492b3cc07017025c44f5fb65d42d914', 'detail': ['h1_0', 0, 'texts', 2, 'text'], 'location': [0, 5], 'detail-type': 'y-0'}, {'content-key': '064ec4b18fcea49a47a591e633e8410f', 'detail': ['h4_3', 0, 'texts', 7, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': 'e68660af5d233eaa37ce2f2241f6b042', 'detail': ['h1_0', 0, 'h2_23', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_2', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_3', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '超级经济舱', 'answer': [{'content-key': '7756991f4eb13b712b8281e6b0c4ae12', 'detail': ['h1_0', 0, 'texts', 0, 'img'], 'location': [0, 39], 'detail-type': 'y-0'}, {'content-key': '7756991f4eb13b712b8281e6b0c4ae12', 'detail': ['h1_0', 0, 'texts', 1, 'img'], 'location': [0, 39], 'detail-type': 'y-0'}, {'content-key': '7756991f4eb13b712b8281e6b0c4ae12', 'detail': ['h1_0', 0, 'texts', 3, 'text'], 'location': [0, 13], 'detail-type': 'y-0'}, {'content-key': 'ba635092554a1ea299fd049f2f5884f0', 'detail': ['h1_0', 0, 'texts', 0, 'img'], 'location': [0, 38], 'detail-type': 'y-0'}, {'content-key': 'ba635092554a1ea299fd049f2f5884f0', 'detail': ['h1_0', 0, 'texts', 1, 'img'], 'location': [0, 38], 'detail-type': 'y-0'}]}
{'question': '如何获取报销纸质', 'answer': [{'content-key': 'ca2b35de604199c9344f0c1037453f4c', 'detail': ['h1_0', 0, 'h2_33', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': 'ca2b35de604199c9344f0c1037453f4c', 'detail': ['h1_0', 0, 'h2_34', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': 'ca2b35de604199c9344f0c1037453f4c', 'detail': ['h1_0', 0, 'h2_35', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': 'ca2b35de604199c9344f0c1037453f4c', 'detail': ['h1_0', 0, 'h2_43', 'text'], 'location': [0, 13], 'detail-type': 'y-0'}, {'content-key': 'ca2b35de604199c9344f0c1037453f4c', 'detail': ['h1_0', 0, 'h2_61', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '航站楼中转柜台在哪', 'answer': [{'content-key': 'c5bb996c0852a738eaed585fdbdb5926', 'detail': ['h1_0', 0, 'texts', 0, 'text'], 'location': [0, 12], 'detail-type': 'y-0'}, {'content-key': 'c5bb996c0852a738eaed585fdbdb5926', 'detail': ['h1_0', 0, 'texts', 11, 'text'], 'location': [0, 12], 'detail-type': 'y-0'}, {'content-key': 'c5bb996c0852a738eaed585fdbdb5926', 'detail': ['h1_0', 0, 'texts', 15, 'text'], 'location': [0, 12], 'detail-type': 'y-0'}, {'content-key': 'c5bb996c0852a738eaed585fdbdb5926', 'detail': ['h1_0', 0, 'texts', 16, 'text'], 'location': [0, 15], 'detail-type': 'y-0'}, {'content-key': 'c5bb996c0852a738eaed585fdbdb5926', 'detail': ['h1_0', 0, 'texts', 17, 'text'], 'location': [0, 21], 'detail-type': 'y-0'}]}
{'question': '国内航班开始值机时间和截止时间分别是多久?', 'answer': [{'content-key': '567eadd66fc7bc9629d929be3de65940', 'detail': ['h1_0', 0, 'texts', 0, 'table'], 'location': [0, 51], 'detail-type': 'y-0'}, {'content-key': '8f4f560a6087c88394afc18db6b04448', 'detail': ['h1_0', 0, 'h2_6', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_11', 'title'], 'location': [0, 21], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_11', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '0d903b873c849cf00d654414b7db5a9e', 'detail': ['h1_0', 0, 'h2_0', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '残疾人坐飞机需要什么流程', 'answer': [{'content-key': '4e639c45641fc6c204bfc3fa0631bac1', 'detail': ['h1_0', 0, 'texts', 0, 'text'], 'location': [0, 4], 'detail-type': 'y-0'}, {'content-key': '4e639c45641fc6c204bfc3fa0631bac1', 'detail': ['h1_0', 0, 'texts', 5, 'text'], 'location': [0, 20], 'detail-type': 'y-0'}, {'content-key': '4e639c45641fc6c204bfc3fa0631bac1', 'detail': ['h1_0', 0, 'texts', 23, 'text'], 'location': [38, 39], 'detail-type': 'y-0'}, {'content-key': '4e639c45641fc6c204bfc3fa0631bac1', 'detail': ['h1_0', 0, 'texts', 25, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '9af70e36b48c6dcb513f55172170e385', 'detail': ['h1_0', 0, 'h2_1', 'text'], 'location': [0, 0], 'detail-type': 'y-0'}]}
{'question': '飞机上可以托运动物吗?', 'answer': [{'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'texts', 61, 'text'], 'location': [0, 13], 'detail-type': 'y-0'}, {'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'texts', 62, 'text'], 'location': [0, 24], 'detail-type': 'y-0'}, {'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'texts', 68, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'texts', 70, 'text'], 'location': [83, 84], 'detail-type': 'y-0'}, {'content-key': '2c2ccfd5d0c6c22156bd31a0a519a529', 'detail': ['h1_0', 0, 'texts', 73, 'text'], 'location': [87, 88], 'detail-type': 'y-0'}]}
{'question': '飞机起飞前多久停止登机', 'answer': [{'content-key': '8f4f560a6087c88394afc18db6b04448', 'detail': ['h1_0', 0, 'h2_6', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_2', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_11', 'title'], 'location': [0, 21], 'detail-type': 'y-0'}, {'content-key': '385217662e0fb9b27f7a9ba40fa14ae2', 'detail': ['h1_0', 0, 'h2_11', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': '0d903b873c849cf00d654414b7db5a9e', 'detail': ['h1_0', 0, 'h2_0', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}
{'question': '我孩子5岁了,要单独乘联程航班,可以办理无人陪伴的托管服务吗?', 'answer': [{'content-key': 'b8421d91262579550acfea5a214aab8f', 'detail': ['h1_0', 0, 'texts', 0, 'text'], 'location': [1, 4], 'detail-type': 'y-0'}, {'content-key': 'b8421d91262579550acfea5a214aab8f', 'detail': ['h1_0', 0, 'texts', 14, 'text'], 'location': [0, 11], 'detail-type': 'y-0'}, {'content-key': 'b8421d91262579550acfea5a214aab8f', 'detail': ['h1_0', 0, 'texts', 22, 'text'], 'location': [0, 1], 'detail-type': 'y-0'}, {'content-key': 'b8421d91262579550acfea5a214aab8f', 'detail': ['h1_0', 0, 'texts', 35, 'text'], 'location': [0, 6], 'detail-type': 'y-0'}, {'content-key': '0776484dcef8f22446651bdef0e4326e', 'detail': ['h1_0', 0, 'h2_1', 'text'], 'location': [0, 1], 'detail-type': 'y-0'}]}

五.总结

本项目通过数据预处理,应用ernie-3.0预训练模型,训练,推理等流程即可轻松生成预测文件,提交比赛结果。

优化方向:

1.任务3的结果很大程度取决于任务1和任务的2的结果,所以应该优先优化前置任务的结果准确率

2.微调batch_size, 学习率,max_seq_len 等

希望对大家有所帮助

声明

此项目为搬运
原项目链接

这篇关于航旅纵横杯-任务3:细粒度文本级答案抽取(ERNIE3.0)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/271471

相关文章

Spring Boot 整合 ShedLock 处理定时任务重复执行的问题小结

《SpringBoot整合ShedLock处理定时任务重复执行的问题小结》ShedLock是解决分布式系统中定时任务重复执行问题的Java库,通过在数据库中加锁,确保只有一个节点在指定时间执行... 目录前言什么是 ShedLock?ShedLock 的工作原理:定时任务重复执行China编程的问题使用 Shed

Python Invoke自动化任务库的使用

《PythonInvoke自动化任务库的使用》Invoke是一个强大的Python库,用于编写自动化脚本,本文就来介绍一下PythonInvoke自动化任务库的使用,具有一定的参考价值,感兴趣的可以... 目录什么是 Invoke?如何安装 Invoke?Invoke 基础1. 运行测试2. 构建文档3.

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

poj 3104 二分答案

题意: n件湿度为num的衣服,每秒钟自己可以蒸发掉1个湿度。 然而如果使用了暖炉,每秒可以烧掉k个湿度,但不计算蒸发了。 现在问这么多的衣服,怎么烧事件最短。 解析: 二分答案咯。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <c

java线程深度解析(一)——java new 接口?匿名内部类给你答案

http://blog.csdn.net/daybreak1209/article/details/51305477 一、内部类 1、内部类初识 一般,一个类里主要包含类的方法和属性,但在Java中还提出在类中继续定义类(内部类)的概念。 内部类的定义:类的内部定义类 先来看一个实例 [html]  view plain copy pu

FreeRTOS学习笔记(二)任务基础篇

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、 任务的基本内容1.1 任务的基本特点1.2 任务的状态1.3 任务控制块——任务的“身份证” 二、 任务的实现2.1 定义任务函数2.2 创建任务2.3 启动任务调度器2.4 任务的运行与切换2.4.1 利用延时函数2.4.2 利用中断 2.5 任务的通信与同步2.6 任务的删除2.7 任务的通知2

【附答案】C/C++ 最常见50道面试题

文章目录 面试题 1:深入探讨变量的声明与定义的区别面试题 2:编写比较“零值”的`if`语句面试题 3:深入理解`sizeof`与`strlen`的差异面试题 4:解析C与C++中`static`关键字的不同用途面试题 5:比较C语言的`malloc`与C++的`new`面试题 6:实现一个“标准”的`MIN`宏面试题 7:指针是否可以是`volatile`面试题 8:探讨`a`和`&a`