Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

题目答案对齐 #2

Open
liyongsea opened this issue Jun 14, 2023 · 4 comments
Open

题目答案对齐 #2

liyongsea opened this issue Jun 14, 2023 · 4 comments

Comments

@liyongsea
Copy link

给定markdown

  • 判断是不是试卷(分类器?)
  • 判断有没有答案
  • 有答案的对齐
@UnstoppableCurry
Copy link
Owner

UnstoppableCurry commented Jun 20, 2023

1.是否为试卷 词频统计,命名规则区别

(chatglm) [root@node1 code]# cat rows_without_keywords.csv |wc -l
717 不是试卷的数量
(chatglm) [root@node1 code]# cat rows_with_keywords.csv |wc -l
1535 是试卷的数量

2.判断有没有答案 文件名区别 + 文件内容区别

(chatglm) [root@node1 code]# cat rows_with_answers.csv |wc -l
857 有答案
(chatglm) [root@node1 code]# cat rows_without_answers.csv |wc -l
678 没答案

3.分割对齐

分割还没想好用什么规则

@liyongsea
Copy link
Author

分享一下切割样例看看效果

@UnstoppableCurry
Copy link
Owner

分割对齐是否用RE任务来处理更合适,需要制作题库RE对齐
参考项目 https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/doc/doc_ch/algorithm_kie_vi_layoutxlm.md

@UnstoppableCurry
Copy link
Owner

UnstoppableCurry commented Jul 29, 2023

算法性能


SER与RE上的任务性能如下

模型 骨干网络 任务 配置文件 hmean 预测耗时(ms) 下载链接
VI-LayoutXLM VI-LayoutXLM-base SER ser_vi_layoutxlm_xfund_zh_udml.yml 93.19% 15.49 训练模型
LayoutXLM LayoutXLM-base SER ser_layoutxlm_xfund_zh.yml 90.38% 19.49 训练模型
VI-LayoutXLM VI-LayoutXLM-base RE re_vi_layoutxlm_xfund_zh_udml.yml 83.92% 15.49 训练模型
LayoutXLM LayoutXLM-base RE re_layoutxlm_xfund_zh.yml 74.83% 19.49 训练模型
  • 注:预测耗时测试条件:V100 GPU + cuda10.2 + cudnn8.1.1 + TensorRT 7.2.3.4,使用FP16进行测试。
SER与RE上的任务性能如下

模型 骨干网络 任务 配置文件 hmean 预测耗时(ms) 下载链接
VI-LayoutXLM VI-LayoutXLM-base SER ser_vi_layoutxlm_xfund_zh_udml.yml 93.19% 15.49 训练模型
LayoutXLM LayoutXLM-base SER ser_layoutxlm_xfund_zh.yml 90.38% 19.49 训练模型
VI-LayoutXLM VI-LayoutXLM-base RE re_vi_layoutxlm_xfund_zh_udml.yml 83.92% 15.49 训练模型
LayoutXLM LayoutXLM-base RE re_layoutxlm_xfund_zh.yml 74.83% 19.49 训练模型
注:预测耗时测试条件:V100 GPU + cuda10.2 + cudnn8.1.1 + TensorRT 7.2.3.4,使用FP16进行测试。

自标注的增值税数据集上进行实验:

  Precision Recall F1 Score
0-shot 0.44898 0.56410 0.50000
5-shot 0.9000 0.9231 0.9114
10-shot 0.9125 0.93590 0.9241
20-shot 0.9737 0.9487 0.9610
30-shot 0.9744 0.9744 0.9744
30-shot+PP-Structure 1.0 0.9625 0.9809

n-shot表示训练集包含n张标注图片数据进行模型微调,实验表明UIE-X可以通过少量数据(few-shot)和PP-Structure的布局分析进一步提升结果。


python端串联推理性能

paddle_det +paddle_cls +paddlerec +re_vi_layoutxlm_xfund_pretrained +ser_vi_layoutxlm_xfund_pretrained
每张图片推理时间 inference_times = [2.446, 1.066, 0.543, 1.116, 0.638, 1.537, 1.072, 0.683, 0.933, 0.650, 0.878]
平均推理时间:1.0755815400105736 秒
没有OCR过程更快


KIE (OCR+SER+RE) ZeroShot 可视化展示

imgs\1.png	{"ocr_info": [[{"transcription": "(1)求C,的普通方程和C,的直角坐标方程:", "bbox": [61, 58, 318, 72], "points": [[61.0, 58.0], [318.0, 58.0], [318.0, 72.0], [61.0, 72.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "(2)若过点F(1,O)的直线I与C,交于A,B两点,与C,交于M,N两点,", "bbox": [61, 94, 481, 110], "points": [[61.0, 94.0], [481.0, 94.0], [481.0, 110.0], [61.0, 110.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析】试题分析:(1)利用平方法消去参数,即可得到C的普通方程,两边同乘以p利用pcoso=x,psino=y", "bbox": [59, 172, 705, 190], "points": [[59.0, 172.0], [705.0, 173.0], [705.0, 190.0], [59.0, 189.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "7 = tsina", "bbox": [399, 221, 443, 235], "points": [[399.0, 221.0], [443.0, 221.0], [443.0, 235.0], [399.0, 235.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析】试题分析:(1)利用平方法消去参数,即可得到C的普通方程,两边同乘以p利用pcoso=x,psino=y", "bbox": [59, 172, 705, 190], "points": [[59.0, 172.0], [705.0, 173.0], [705.0, 190.0], [59.0, 189.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "2", "bbox": [564, 226, 577, 238], "points": [[564.0, 226.0], [577.0, 226.0], [577.0, 238.0], [564.0, 238.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析】试题分析:(1)利用平方法消去参数,即可得到C的普通方程,两边同乘以p利用pcoso=x,psino=y", "bbox": [59, 172, 705, 190], "points": [[59.0, 172.0], [705.0, 173.0], [705.0, 190.0], [59.0, 189.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "+y²=1,利用韦达定", "bbox": [574, 209, 704, 229], "points": [[574.0, 212.0], [704.0, 209.0], [704.0, 226.0], [574.0, 229.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "试题解析:(1)曲线C的普通方程为", "bbox": [55, 284, 292, 301], "points": [[55.0, 284.0], [292.0, 284.0], [292.0, 301.0], [55.0, 301.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "y = tsina", "bbox": [234, 337, 289, 351], "points": [[234.0, 337.0], [289.0, 337.0], [289.0, 351.0], [234.0, 351.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "联立直线1与曲线C1:", "bbox": [53, 400, 182, 419], "points": [[53.0, 400.0], [182.0, 402.0], [182.0, 419.0], [53.0, 417.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "+s", "bbox": [184, 392, 196, 404], "points": [[184.0, 399.0], [191.0, 392.0], [196.0, 397.0], [189.0, 404.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "23.选修4-5:不等式选讲", "bbox": [53, 587, 215, 601], "points": [[53.0, 587.0], [215.0, 587.0], [215.0, 601.0], [53.0, 601.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "已知f(x) =[x-11+1,F(x)", "bbox": [56, 626, 211, 640], "points": [[56.0, 626.0], [211.0, 626.0], [211.0, 640.0], [56.0, 640.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "23.选修4-5:不等式选讲", "bbox": [53, 587, 215, 601], "points": [[53.0, 587.0], [215.0, 587.0], [215.0, 601.0], [53.0, 601.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "112-3x. x>3", "bbox": [214, 634, 303, 646], "points": [[214.0, 634.0], [303.0, 634.0], [303.0, 646.0], [214.0, 646.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "23.选修4-5:不等式选讲", "bbox": [53, 587, 215, 601], "points": [[53.0, 587.0], [215.0, 587.0], [215.0, 601.0], [53.0, 601.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "( f(x). x≤3,", "bbox": [216, 617, 298, 631], "points": [[216.0, 617.0], [298.0, 617.0], [298.0, 631.0], [216.0, 631.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "(2)若方程F(x)=a有三个解,求实数a的取值范围", "bbox": [62, 694, 364, 708], "points": [[62.0, 694.0], [364.0, 694.0], [364.0, 708.0], [62.0, 708.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "+ 00): (2)(1. 3)", "bbox": [169, 730, 263, 744], "points": [[169.0, 730.0], [263.0, 730.0], [263.0, 744.0], [169.0, 744.0]], "pred_id": 3, "pred": "ANSWER"}]]}
imgs\10.png	{"ocr_info": [[{"transcription": "分析:因为在轴对称图形中,对称轴两侧的对应点到对称轴两侧的距离相等,所以应填“距", "bbox": [64, 162, 622, 182], "points": [[64.0, 162.0], [622.0, 162.0], [622.0, 182.0], [64.0, 182.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "离相等”,↑", "bbox": [66, 186, 141, 203], "points": [[66.0, 186.0], [141.0, 186.0], [141.0, 203.0], [66.0, 203.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析]", "bbox": [69, 247, 132, 264], "points": [[69.0, 247.0], [132.0, 247.0], [132.0, 264.0], [69.0, 264.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "分析:依据轴对称图形的定义即可作答←", "bbox": [63, 286, 329, 308], "points": [[63.0, 286.0], [329.0, 288.0], [329.0, 308.0], [63.0, 306.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "考点:旋转", "bbox": [66, 393, 144, 410], "points": [[66.0, 393.0], [144.0, 393.0], [144.0, 410.0], [66.0, 410.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "解答:①号三角形绕A点按顺时针方向旋转了90度.←", "bbox": [63, 455, 407, 475], "points": [[63.0, 455.0], [407.0, 455.0], [407.0, 475.0], [63.0, 475.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "考点:旋转", "bbox": [66, 393, 144, 410], "points": [[66.0, 393.0], [144.0, 393.0], [144.0, 410.0], [66.0, 410.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "18. 90", "bbox": [64, 473, 120, 495], "points": [[64.0, 478.0], [118.0, 473.0], [120.0, 490.0], [65.0, 495.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "考点:画轴对称图形的对称轴:", "bbox": [877, 498, 1078, 513], "points": [[877.0, 498.0], [1078.0, 498.0], [1078.0, 513.0], [877.0, 513.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "分析:根据轴对称图形的意义:如果一个图形沿着一条直线对折后两部分完全重合,这样的", "bbox": [876, 162, 1430, 182], "points": [[876.0, 162.0], [1430.0, 162.0], [1430.0, 182.0], [876.0, 182.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "考点:画轴对称图形的对称轴:", "bbox": [877, 498, 1078, 513], "points": [[877.0, 498.0], [1078.0, 498.0], [1078.0, 513.0], [877.0, 513.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "图形叫做轴对称图形,这条直线叫做对称轴;据此解答即可.←", "bbox": [876, 184, 1263, 204], "points": [[876.0, 184.0], [1263.0, 184.0], [1263.0, 204.0], [876.0, 204.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "考点:画轴对称图形的对称轴:", "bbox": [877, 498, 1078, 513], "points": [[877.0, 498.0], [1078.0, 498.0], [1078.0, 513.0], [877.0, 513.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "分析:根据轴对称图形的意义:如果一个图形沿着一条直线对折后两部分完全重合,这样的", "bbox": [874, 516, 1430, 537], "points": [[874.0, 516.0], [1430.0, 516.0], [1430.0, 537.0], [874.0, 537.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "考点:画轴对称图形的对称轴:", "bbox": [877, 498, 1078, 513], "points": [[877.0, 498.0], [1078.0, 498.0], [1078.0, 513.0], [877.0, 513.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "图形叫做轴对称图形,这条直线叫做对称轴;据此解答即可.←", "bbox": [874, 538, 1265, 558], "points": [[874.0, 538.0], [1265.0, 538.0], [1265.0, 558.0], [874.0, 558.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "分析:根据钟表面的识,钟表上分针走过一个小格转过的度数是6°,走过15分钟,乘", "bbox": [64, 538, 622, 558], "points": [[64.0, 538.0], [622.0, 538.0], [622.0, 558.0], [64.0, 558.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "以15,计算即可得解.", "bbox": [66, 560, 214, 575], "points": [[66.0, 560.0], [214.0, 560.0], [214.0, 575.0], [66.0, 575.0]], "pred_id": 3, "pred": "ANSWER"}]]}
imgs\11.png	{"ocr_info": [[{"transcription": "分析:根据平移的特征,把各图形的各顶点分别按要求向某个方向平移相应的格数连结、涂", "bbox": [49, 405, 607, 425], "points": [[49.0, 405.0], [607.0, 405.0], [607.0, 425.0], [49.0, 425.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "旋转是物体运动时,每一个点离同一个点(可以在物体外)的距离不变的运动,称为绕这个", "bbox": [859, 384, 1415, 404], "points": [[859.0, 384.0], [1415.0, 384.0], [1415.0, 404.0], [859.0, 404.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "考点:作轴对称图形以及旋转一定角度后的图形,", "bbox": [51, 698, 351, 713], "points": [[51.0, 698.0], [351.0, 698.0], [351.0, 713.0], [51.0, 713.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "绕点0顺时针旋转90度,画出旋转后的三角形,再把得到的三角形的三个顶点分别向左平", "bbox": [48, 758, 604, 778], "points": [[48.0, 758.0], [604.0, 758.0], [604.0, 778.0], [48.0, 778.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "考点:作轴对称图形以及旋转一定角度后的图形,", "bbox": [51, 698, 351, 713], "points": [[51.0, 698.0], [351.0, 698.0], [351.0, 713.0], [51.0, 713.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "在对称轴的另一边画出原图的关键对称点,连接即可。(2)把右边三角形的另外两个顶点分别", "bbox": [51, 740, 604, 755], "points": [[51.0, 740.0], [604.0, 740.0], [604.0, 755.0], [51.0, 755.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "考点:作轴对称图形以及旋转一定角度后的图形,", "bbox": [51, 698, 351, 713], "points": [[51.0, 698.0], [351.0, 698.0], [351.0, 713.0], [51.0, 713.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "移3格,依次连接起来即可解答问题。←", "bbox": [48, 778, 297, 799], "points": [[48.0, 779.0], [297.0, 778.0], [297.0, 797.0], [48.0, 799.0]], "pred_id": 3, "pred": "ANSWER"}]]}
imgs\2.png	{"ocr_info": [[{"transcription": "则a-2m,b-3m,设椭圆的标准方程为", "bbox": [196, 123, 431, 144], "points": [[196.0, 124.0], [431.0, 123.0], [431.0, 143.0], [196.0, 144.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "x2", "bbox": [439, 112, 456, 130], "points": [[439.0, 112.0], [456.0, 112.0], [456.0, 130.0], [439.0, 130.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "则a-2m,b-3m,设椭圆的标准方程为", "bbox": [196, 123, 431, 144], "points": [[196.0, 124.0], [431.0, 123.0], [431.0, 143.0], [196.0, 144.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "J2", "bbox": [471, 112, 494, 133], "points": [[471.0, 120.0], [487.0, 112.0], [494.0, 125.0], [478.0, 133.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "则a-2m,b-3m,设椭圆的标准方程为", "bbox": [196, 123, 431, 144], "points": [[196.0, 124.0], [431.0, 123.0], [431.0, 143.0], [196.0, 144.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "4m2", "bbox": [433, 138, 462, 159], "points": [[433.0, 144.0], [459.0, 138.0], [462.0, 153.0], [437.0, 159.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "则a-2m,b-3m,设椭圆的标准方程为", "bbox": [196, 123, 431, 144], "points": [[196.0, 124.0], [431.0, 123.0], [431.0, 143.0], [196.0, 144.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "3m2", "bbox": [467, 135, 500, 159], "points": [[467.0, 142.0], [496.0, 135.0], [500.0, 152.0], [471.0, 159.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "P(xoyo),Q(xy)由4m2", "bbox": [36, 188, 177, 210], "points": [[36.0, 188.0], [177.0, 192.0], [176.0, 210.0], [36.0, 206.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "3m2", "bbox": [184, 191, 213, 211], "points": [[184.0, 195.0], [211.0, 191.0], [213.0, 207.0], [186.0, 211.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "所以AMPQ的面积最大值为-", "bbox": [41, 457, 209, 471], "points": [[41.0, 457.0], [209.0, 457.0], [209.0, 471.0], [41.0, 471.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "16", "bbox": [295, 466, 313, 483], "points": [[295.0, 466.0], [313.0, 466.0], [313.0, 483.0], [295.0, 483.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "此时MP:y", "bbox": [334, 455, 393, 472], "points": [[335.0, 455.0], [393.0, 457.0], [392.0, 472.0], [334.0, 470.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "75", "bbox": [448, 403, 471, 418], "points": [[448.0, 403.0], [471.0, 403.0], [471.0, 418.0], [448.0, 418.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "此时MP:y", "bbox": [334, 455, 393, 472], "points": [[335.0, 455.0], [393.0, 457.0], [392.0, 472.0], [334.0, 470.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "4", "bbox": [417, 447, 426, 458], "points": [[417.0, 447.0], [426.0, 447.0], [426.0, 458.0], [417.0, 458.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "此时MP:y", "bbox": [334, 455, 393, 472], "points": [[335.0, 455.0], [393.0, 457.0], [392.0, 472.0], [334.0, 470.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "2", "bbox": [456, 446, 472, 460], "points": [[456.0, 446.0], [472.0, 446.0], [472.0, 460.0], [456.0, 460.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "此时MP:y", "bbox": [334, 455, 393, 472], "points": [[335.0, 455.0], [393.0, 457.0], [392.0, 472.0], [334.0, 470.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "3", "bbox": [417, 467, 426, 478], "points": [[417.0, 467.0], [426.0, 467.0], [426.0, 478.0], [417.0, 478.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "(1)求f(x)的单调区间:", "bbox": [45, 556, 184, 572], "points": [[45.0, 556.0], [184.0, 556.0], [184.0, 572.0], [45.0, 572.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "2v/6", "bbox": [59, 224, 92, 253], "points": [[59.0, 228.0], [88.0, 224.0], [92.0, 249.0], [62.0, 253.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "(1)求f(x)的单调区间:", "bbox": [45, 556, 184, 572], "points": [[45.0, 556.0], [184.0, 556.0], [184.0, 572.0], [45.0, 572.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "1x(lnx + 1)", "bbox": [124, 582, 192, 596], "points": [[124.0, 582.0], [192.0, 582.0], [192.0, 596.0], [124.0, 596.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "(1)求f(x)的单调区间:", "bbox": [45, 556, 184, 572], "points": [[45.0, 556.0], [184.0, 556.0], [184.0, 572.0], [45.0, 572.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "ex", "bbox": [151, 602, 168, 623], "points": [[151.0, 602.0], [168.0, 602.0], [168.0, 623.0], [151.0, 623.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "(2)设g(x):", "bbox": [45, 591, 117, 608], "points": [[45.0, 591.0], [117.0, 591.0], [117.0, 608.0], [45.0, 608.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "2m 2/6m", "bbox": [144, 230, 201, 250], "points": [[144.0, 230.0], [201.0, 230.0], [201.0, 250.0], [144.0, 250.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "(2)设g(x):", "bbox": [45, 591, 117, 608], "points": [[45.0, 591.0], [117.0, 591.0], [117.0, 608.0], [45.0, 608.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "y =_ - 4mx", "bbox": [158, 214, 224, 232], "points": [[158.0, 214.0], [224.0, 214.0], [224.0, 232.0], [158.0, 232.0]], "pred_id": 3, "pred": "ANSWER"}]]}
imgs\3.png	{"ocr_info": [[{"transcription": "【解析】分析:复数", "bbox": [63, 307, 183, 325], "points": [[63.0, 308.0], [183.0, 307.0], [183.0, 324.0], [63.0, 325.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "3 + 7i", "bbox": [194, 303, 224, 314], "points": [[194.0, 303.0], [224.0, 303.0], [224.0, 314.0], [194.0, 314.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "详解:因为复数z", "bbox": [60, 358, 159, 372], "points": [[60.0, 358.0], [159.0, 358.0], [159.0, 372.0], [60.0, 372.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "3 + 7i", "bbox": [168, 349, 207, 363], "points": [[168.0, 349.0], [207.0, 349.0], [207.0, 363.0], [168.0, 363.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "详解:因为复数z", "bbox": [60, 358, 159, 372], "points": [[60.0, 358.0], [159.0, 358.0], [159.0, 372.0], [60.0, 372.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "3i + 7;2", "bbox": [210, 345, 252, 363], "points": [[210.0, 347.0], [251.0, 345.0], [252.0, 361.0], [211.0, 363.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "所以;复数z", "bbox": [60, 405, 132, 419], "points": [[60.0, 405.0], [132.0, 405.0], [132.0, 419.0], [60.0, 419.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "3 + 7", "bbox": [142, 398, 169, 408], "points": [[143.0, 398.0], [169.0, 400.0], [169.0, 408.0], [142.0, 406.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "所以;复数z", "bbox": [60, 405, 132, 419], "points": [[60.0, 405.0], [132.0, 405.0], [132.0, 419.0], [60.0, 419.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "的实部是7,虚部是-3,故选A.", "bbox": [168, 402, 354, 420], "points": [[168.0, 402.0], [354.0, 403.0], [354.0, 420.0], [168.0, 419.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "[答案】e", "bbox": [64, 524, 129, 538], "points": [[64.0, 524.0], [129.0, 524.0], [129.0, 538.0], [64.0, 538.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "【解析】分析:利用三角函数的有界性化简集合Q;然后根据交集的定义求解即可..", "bbox": [65, 552, 528, 566], "points": [[65.0, 552.0], [528.0, 552.0], [528.0, 566.0], [65.0, 566.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "[答案】e", "bbox": [64, 524, 129, 538], "points": [[64.0, 524.0], [129.0, 524.0], [129.0, 538.0], [64.0, 538.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "详解:Q=fyly=sino,eER,Q=fyl1≤y≤1),", "bbox": [60, 581, 357, 595], "points": [[60.0, 581.0], [357.0, 581.0], [357.0, 595.0], [60.0, 595.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "[答案】e", "bbox": [64, 524, 129, 538], "points": [[64.0, 524.0], [129.0, 524.0], [129.0, 538.0], [64.0, 538.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "P=-1.0.2.PnQ=1.0,故选C.", "bbox": [62, 608, 293, 622], "points": [[62.0, 608.0], [293.0, 608.0], [293.0, 622.0], [62.0, 622.0]], "pred_id": 3, "pred": "ANSWER"}]]}
imgs\4.png	{"ocr_info": [[{"transcription": "划线单词是动物名称,可以写出任意五个动物名称即可。", "bbox": [995, 86, 1361, 108], "points": [[995.0, 86.0], [1361.0, 86.0], [1361.0, 108.0], [995.0, 108.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "6~10 划线单词是书籍名称,因此写出任意五种书籍名称即可。", "bbox": [957, 107, 1365, 129], "points": [[957.0, 107.0], [1365.0, 107.0], [1365.0, 129.0], [957.0, 129.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "划线单词是动物名称,可以写出任意五个动物名称即可。", "bbox": [995, 86, 1361, 108], "points": [[995.0, 86.0], [1361.0, 86.0], [1361.0, 108.0], [995.0, 108.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "11~15划线单词是职业名词,所以写出任意五个职业名词即可。←", "bbox": [959, 128, 1363, 150], "points": [[959.0, 128.0], [1363.0, 128.0], [1363.0, 150.0], [959.0, 150.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "2. It sometimesr_", "bbox": [89, 169, 194, 192], "points": [[89.0, 169.0], [194.0, 173.0], [193.0, 192.0], [89.0, 188.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "snowin winter.", "bbox": [217, 152, 317, 169], "points": [[217.0, 152.0], [317.0, 152.0], [317.0, 169.0], [217.0, 169.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "2. It sometimesr_", "bbox": [89, 169, 194, 192], "points": [[89.0, 169.0], [194.0, 173.0], [193.0, 192.0], [89.0, 188.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "in summer. And today is a rainy day.", "bbox": [240, 171, 459, 192], "points": [[240.0, 171.0], [459.0, 173.0], [459.0, 192.0], [240.0, 190.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "四、单项选择。↑", "bbox": [902, 152, 1014, 169], "points": [[902.0, 152.0], [1014.0, 152.0], [1014.0, 169.0], [902.0, 169.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "1.He", "bbox": [902, 171, 934, 190], "points": [[902.0, 171.0], [934.0, 171.0], [934.0, 190.0], [902.0, 190.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "四、单项选择。↑", "bbox": [902, 152, 1014, 169], "points": [[902.0, 152.0], [1014.0, 152.0], [1014.0, 169.0], [902.0, 169.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "going to Beijing next week.", "bbox": [968, 171, 1137, 192], "points": [[968.0, 173.0], [1137.0, 171.0], [1137.0, 190.0], [968.0, 192.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "四、单项选择。↑", "bbox": [902, 152, 1014, 169], "points": [[902.0, 152.0], [1014.0, 152.0], [1014.0, 169.0], [902.0, 169.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "A.is", "bbox": [900, 192, 931, 211], "points": [[900.0, 192.0], [931.0, 192.0], [931.0, 211.0], [900.0, 211.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "四、单项选择。↑", "bbox": [902, 152, 1014, 169], "points": [[902.0, 152.0], [1014.0, 152.0], [1014.0, 169.0], [902.0, 169.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "B.are", "bbox": [1048, 194, 1087, 213], "points": [[1048.0, 194.0], [1087.0, 194.0], [1087.0, 213.0], [1048.0, 213.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "四、单项选择。↑", "bbox": [902, 152, 1014, 169], "points": [[902.0, 152.0], [1014.0, 152.0], [1014.0, 169.0], [902.0, 169.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "C.amt", "bbox": [1192, 192, 1237, 211], "points": [[1192.0, 192.0], [1237.0, 192.0], [1237.0, 211.0], [1192.0, 211.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "4. The girls are f", "bbox": [91, 215, 189, 234], "points": [[91.0, 215.0], [189.0, 215.0], [189.0, 234.0], [91.0, 234.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "F nodle Gnurse Hdoctor Ipuppy JChinese book-", "bbox": [149, 468, 493, 491], "points": [[149.0, 468.0], [493.0, 468.0], [493.0, 491.0], [149.0, 491.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "2.What color isit?", "bbox": [900, 255, 1027, 274], "points": [[900.0, 255.0], [1027.0, 255.0], [1027.0, 274.0], [900.0, 274.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "AYes,itis", "bbox": [898, 276, 977, 299], "points": [[898.0, 280.0], [976.0, 276.0], [977.0, 295.0], [899.0, 299.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "2.What color isit?", "bbox": [900, 255, 1027, 274], "points": [[900.0, 255.0], [1027.0, 255.0], [1027.0, 274.0], [900.0, 274.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "B.It is red", "bbox": [1069, 279, 1132, 299], "points": [[1069.0, 279.0], [1132.0, 279.0], [1132.0, 299.0], [1069.0, 299.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "2.What color isit?", "bbox": [900, 255, 1027, 274], "points": [[900.0, 255.0], [1027.0, 255.0], [1027.0, 274.0], [900.0, 274.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "C.It is hist", "bbox": [1196, 279, 1261, 299], "points": [[1196.0, 279.0], [1261.0, 279.0], [1261.0, 299.0], [1196.0, 299.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【答案】1. heay", "bbox": [94, 278, 201, 297], "points": [[94.0, 278.0], [201.0, 278.0], [201.0, 297.0], [94.0, 297.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "2. rains", "bbox": [221, 279, 269, 297], "points": [[221.0, 279.0], [269.0, 279.0], [269.0, 297.0], [221.0, 297.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【答案】1. heay", "bbox": [94, 278, 201, 297], "points": [[94.0, 278.0], [201.0, 278.0], [201.0, 297.0], [94.0, 297.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "3. Nati onal", "bbox": [297, 279, 370, 297], "points": [[297.0, 279.0], [370.0, 279.0], [370.0, 297.0], [297.0, 297.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【答案】1. heay", "bbox": [94, 278, 201, 297], "points": [[94.0, 278.0], [201.0, 278.0], [201.0, 297.0], [94.0, 297.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "4. flying", "bbox": [377, 279, 438, 297], "points": [[377.0, 279.0], [438.0, 279.0], [438.0, 297.0], [377.0, 297.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【答案】1. heay", "bbox": [94, 278, 201, 297], "points": [[94.0, 278.0], [201.0, 278.0], [201.0, 297.0], [94.0, 297.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "5. snowman 6.interested -", "bbox": [447, 279, 616, 297], "points": [[447.0, 279.0], [616.0, 279.0], [616.0, 297.0], [447.0, 297.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【答案】1. heay", "bbox": [94, 278, 201, 297], "points": [[94.0, 278.0], [201.0, 278.0], [201.0, 297.0], [94.0, 297.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "2.夏天有时会下雨,主语单数第三人称,谓语加s。", "bbox": [146, 321, 479, 339], "points": [[146.0, 321.0], [479.0, 321.0], [479.0, 339.0], [146.0, 339.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析】1.在冬天会有大雪。", "bbox": [96, 300, 270, 318], "points": [[96.0, 300.0], [270.0, 300.0], [270.0, 318.0], [96.0, 318.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "4.那些女孩正在正在操场上放风筝,进行时态构成be+现在分词。", "bbox": [144, 360, 560, 384], "points": [[144.0, 362.0], [560.0, 360.0], [560.0, 383.0], [144.0, 384.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【答案】B", "bbox": [904, 299, 977, 318], "points": [[904.0, 299.0], [977.0, 299.0], [977.0, 318.0], [904.0, 318.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "11~15 nurse farmer", "bbox": [961, 66, 1107, 84], "points": [[961.0, 66.0], [1107.0, 66.0], [1107.0, 84.0], [961.0, 84.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "3.-What is his name?", "bbox": [900, 342, 1037, 360], "points": [[900.0, 342.0], [1037.0, 342.0], [1037.0, 360.0], [900.0, 360.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "A.Heis my friend", "bbox": [902, 363, 1007, 383], "points": [[902.0, 363.0], [1007.0, 363.0], [1007.0, 383.0], [902.0, 383.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析】句意:他叫什么名字?题中“his”是男性。", "bbox": [904, 403, 1229, 426], "points": [[904.0, 403.0], [1229.0, 403.0], [1229.0, 426.0], [904.0, 426.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "A.is", "bbox": [900, 449, 931, 468], "points": [[900.0, 449.0], [931.0, 449.0], [931.0, 468.0], [900.0, 468.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析】句意:他叫什么名字?题中“his”是男性。", "bbox": [904, 403, 1229, 426], "points": [[904.0, 403.0], [1229.0, 403.0], [1229.0, 426.0], [904.0, 426.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "4.He.", "bbox": [902, 430, 934, 444], "points": [[902.0, 430.0], [934.0, 430.0], [934.0, 444.0], [902.0, 444.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析】句意:他叫什么名字?题中“his”是男性。", "bbox": [904, 403, 1229, 426], "points": [[904.0, 403.0], [1229.0, 403.0], [1229.0, 426.0], [904.0, 426.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "glasses.", "bbox": [964, 430, 1016, 442], "points": [[964.0, 430.0], [1016.0, 430.0], [1016.0, 442.0], [964.0, 442.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析】句意:他叫什么名字?题中“his”是男性。", "bbox": [904, 403, 1229, 426], "points": [[904.0, 403.0], [1229.0, 403.0], [1229.0, 426.0], [904.0, 426.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "B.hae.", "bbox": [1053, 443, 1104, 469], "points": [[1055.0, 443.0], [1104.0, 448.0], [1102.0, 469.0], [1053.0, 464.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "选出能表达该图片意义的单词或短语。", "bbox": [117, 424, 368, 445], "points": [[117.0, 426.0], [368.0, 424.0], [368.0, 444.0], [118.0, 445.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "A fridge B bear Ctiger Dthin E foot", "bbox": [153, 449, 413, 466], "points": [[153.0, 449.0], [413.0, 449.0], [413.0, 466.0], [153.0, 466.0]], "pred_id": 3, "pred": "ANSWER"}]]}
imgs\5.png	{"ocr_info": [[{"transcription": "1. Tom's father is a doctor, my father is", "bbox": [164, 153, 396, 177], "points": [[164.0, 153.0], [396.0, 157.0], [395.0, 177.0], [164.0, 172.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "(farm). ", "bbox": [450, 157, 512, 177], "points": [[450.0, 157.0], [512.0, 157.0], [512.0, 177.0], [450.0, 177.0]], "pred_id": 3, "pred": "ANSWER"}]]}
imgs\6.png	{"ocr_info": [[{"transcription": "十、阅读短文,判断正误,正确的写“T”,错误的写“F”。小", "bbox": [290, 285, 680, 302], "points": [[290.0, 285.0], [680.0, 285.0], [680.0, 302.0], [290.0, 302.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "nurse. She has long hair. My brother and I are good students. This is my family. My family is happy.", "bbox": [287, 326, 865, 345], "points": [[287.0, 326.0], [865.0, 328.0], [865.0, 345.0], [287.0, 343.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析】1.根据Myfatherisadoctor.故答案为T.", "bbox": [294, 474, 599, 493], "points": [[294.0, 474.0], [599.0, 476.0], [599.0, 493.0], [294.0, 491.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "答案1.T", "bbox": [296, 455, 369, 468], "points": [[296.0, 455.0], [369.0, 455.0], [369.0, 468.0], [296.0, 468.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析】1.根据Myfatherisadoctor.故答案为T.", "bbox": [294, 474, 599, 493], "points": [[294.0, 474.0], [599.0, 476.0], [599.0, 493.0], [294.0, 491.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "2.T", "bbox": [395, 455, 422, 468], "points": [[395.0, 455.0], [422.0, 455.0], [422.0, 468.0], [395.0, 468.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析】1.根据Myfatherisadoctor.故答案为T.", "bbox": [294, 474, 599, 493], "points": [[294.0, 474.0], [599.0, 476.0], [599.0, 493.0], [294.0, 491.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "3. F", "bbox": [460, 455, 485, 468], "points": [[460.0, 455.0], [485.0, 455.0], [485.0, 468.0], [460.0, 468.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析】1.根据Myfatherisadoctor.故答案为T.", "bbox": [294, 474, 599, 493], "points": [[294.0, 474.0], [599.0, 476.0], [599.0, 493.0], [294.0, 491.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "4.F", "bbox": [515, 455, 537, 468], "points": [[515.0, 455.0], [537.0, 455.0], [537.0, 468.0], [515.0, 468.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析】1.根据Myfatherisadoctor.故答案为T.", "bbox": [294, 474, 599, 493], "points": [[294.0, 474.0], [599.0, 476.0], [599.0, 493.0], [294.0, 491.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "5.F", "bbox": [578, 455, 607, 469], "points": [[578.0, 455.0], [607.0, 455.0], [607.0, 469.0], [578.0, 469.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析】1.根据Myfatherisadoctor.故答案为T.", "bbox": [294, 474, 599, 493], "points": [[294.0, 474.0], [599.0, 476.0], [599.0, 493.0], [294.0, 491.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "2.根据Mygrandparentsarefarmers.故答案为T.", "bbox": [345, 497, 642, 513], "points": [[345.0, 497.0], [642.0, 497.0], [642.0, 513.0], [345.0, 513.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析】1.根据Myfatherisadoctor.故答案为T.", "bbox": [294, 474, 599, 493], "points": [[294.0, 474.0], [599.0, 476.0], [599.0, 493.0], [294.0, 491.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "3.根据Mygrandparentsarefarmers.故答案为F.", "bbox": [346, 518, 648, 535], "points": [[346.0, 518.0], [648.0, 518.0], [648.0, 535.0], [346.0, 535.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析】1.根据Myfatherisadoctor.故答案为T.", "bbox": [294, 474, 599, 493], "points": [[294.0, 474.0], [599.0, 476.0], [599.0, 493.0], [294.0, 491.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "4.根据Mymotherisateacher.故答案为F.", "bbox": [345, 539, 608, 555], "points": [[345.0, 539.0], [608.0, 539.0], [608.0, 555.0], [345.0, 555.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【解析】1.根据Myfatherisadoctor.故答案为T.", "bbox": [294, 474, 599, 493], "points": [[294.0, 474.0], [599.0, 476.0], [599.0, 493.0], [294.0, 491.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "5.根据Myauntisanurse.故答案为F.", "bbox": [345, 560, 584, 577], "points": [[345.0, 560.0], [584.0, 560.0], [584.0, 577.0], [345.0, 577.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "【答案】", "bbox": [294, 813, 342, 831], "points": [[294.0, 813.0], [342.0, 813.0], [342.0, 831.0], [294.0, 831.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "I have a blue schoolbag, I like it very much.There are somethings in my schoolbag.There are some candies,", "bbox": [318, 857, 932, 874], "points": [[318.0, 857.0], [932.0, 857.0], [932.0, 874.0], [318.0, 874.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "What' s in your schoolbag?+", "bbox": [535, 836, 705, 853], "points": [[535.0, 836.0], [705.0, 836.0], [705.0, 853.0], [535.0, 853.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "9.句意:我在早晨读书。故选B.", "bbox": [345, 242, 551, 258], "points": [[345.0, 242.0], [551.0, 242.0], [551.0, 258.0], [345.0, 258.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "What' s in your schoolbag?+", "bbox": [535, 836, 705, 853], "points": [[535.0, 836.0], [705.0, 836.0], [705.0, 853.0], [535.0, 853.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "10.句意:我很爱我的家庭。故选A.", "bbox": [346, 264, 574, 280], "points": [[346.0, 264.0], [574.0, 264.0], [574.0, 280.0], [346.0, 280.0]], "pred_id": 3, "pred": "ANSWER"}]]}
imgs\7.png	{"ocr_info": [[{"transcription": "1.下列图形中,对称轴最多的是()←", "bbox": [190, 229, 448, 247], "points": [[190.0, 229.0], [448.0, 229.0], [448.0, 247.0], [190.0, 247.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "D.长方形", "bbox": [516, 247, 594, 270], "points": [[516.0, 251.0], [593.0, 247.0], [594.0, 266.0], [517.0, 270.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "2.下面不是轴对称图形的是()←", "bbox": [190, 272, 418, 290], "points": [[190.0, 272.0], [418.0, 272.0], [418.0, 290.0], [190.0, 290.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "A.长方形", "bbox": [192, 293, 257, 311], "points": [[192.0, 293.0], [257.0, 293.0], [257.0, 311.0], [192.0, 311.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "2.下面不是轴对称图形的是()←", "bbox": [190, 272, 418, 290], "points": [[190.0, 272.0], [418.0, 272.0], [418.0, 290.0], [190.0, 290.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "B.平行四边形", "bbox": [300, 293, 397, 311], "points": [[300.0, 293.0], [397.0, 293.0], [397.0, 311.0], [300.0, 311.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "2.下面不是轴对称图形的是()←", "bbox": [190, 272, 418, 290], "points": [[190.0, 272.0], [418.0, 272.0], [418.0, 290.0], [190.0, 290.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "c. 圆", "bbox": [441, 291, 483, 311], "points": [[441.0, 291.0], [483.0, 291.0], [483.0, 311.0], [441.0, 311.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "2.下面不是轴对称图形的是()←", "bbox": [190, 272, 418, 290], "points": [[190.0, 272.0], [418.0, 272.0], [418.0, 290.0], [190.0, 290.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "D.半圆", "bbox": [521, 285, 591, 315], "points": [[521.0, 290.0], [589.0, 285.0], [591.0, 310.0], [523.0, 315.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "4.下列字母是轴对称的是()", "bbox": [192, 353, 402, 371], "points": [[192.0, 353.0], [402.0, 353.0], [402.0, 371.0], [192.0, 371.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "4. 2", "bbox": [194, 336, 224, 350], "points": [[194.0, 336.0], [224.0, 336.0], [224.0, 350.0], [194.0, 350.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "4.下列字母是轴对称的是()", "bbox": [192, 353, 402, 371], "points": [[192.0, 353.0], [402.0, 353.0], [402.0, 371.0], [192.0, 371.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "B. 4", "bbox": [259, 336, 291, 348], "points": [[259.0, 336.0], [291.0, 336.0], [291.0, 348.0], [259.0, 348.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "4.下列字母是轴对称的是()", "bbox": [192, 353, 402, 371], "points": [[192.0, 353.0], [402.0, 353.0], [402.0, 371.0], [192.0, 371.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "C. 8", "bbox": [331, 336, 368, 348], "points": [[331.0, 336.0], [368.0, 336.0], [368.0, 348.0], [331.0, 348.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "5.下列图案不是轴对称的是(", "bbox": [192, 396, 388, 414], "points": [[192.0, 396.0], [388.0, 396.0], [388.0, 414.0], [192.0, 414.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "A. C", "bbox": [194, 377, 222, 391], "points": [[194.0, 377.0], [222.0, 377.0], [222.0, 391.0], [194.0, 391.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "5.下列图案不是轴对称的是(", "bbox": [192, 396, 388, 414], "points": [[192.0, 396.0], [388.0, 396.0], [388.0, 414.0], [192.0, 414.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "B. R", "bbox": [263, 378, 293, 391], "points": [[263.0, 378.0], [293.0, 378.0], [293.0, 391.0], [263.0, 391.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "5.下列图案不是轴对称的是(", "bbox": [192, 396, 388, 414], "points": [[192.0, 396.0], [388.0, 396.0], [388.0, 414.0], [192.0, 414.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "C. N", "bbox": [335, 378, 368, 391], "points": [[335.0, 378.0], [368.0, 378.0], [368.0, 391.0], [335.0, 391.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "12.在算盘上拨珠子是(", "bbox": [1001, 684, 1156, 705], "points": [[1001.0, 686.0], [1156.0, 684.0], [1156.0, 703.0], [1001.0, 705.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "11.如图四边形ABCD是正方形,E是边CD上一点,若△AFB经过逆时针旋转后,与△", "bbox": [999, 476, 1532, 499], "points": [[999.0, 476.0], [1532.0, 476.0], [1532.0, 499.0], [999.0, 499.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "12.在算盘上拨珠子是(", "bbox": [1001, 684, 1156, 705], "points": [[1001.0, 686.0], [1156.0, 684.0], [1156.0, 703.0], [1001.0, 705.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "AED重合,则旋转角可能为()", "bbox": [999, 497, 1220, 520], "points": [[999.0, 497.0], [1220.0, 497.0], [1220.0, 520.0], [999.0, 520.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "12.在算盘上拨珠子是(", "bbox": [1001, 684, 1156, 705], "points": [[1001.0, 686.0], [1156.0, 684.0], [1156.0, 703.0], [1001.0, 705.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "A. 90°", "bbox": [1001, 664, 1047, 684], "points": [[1001.0, 664.0], [1047.0, 664.0], [1047.0, 684.0], [1001.0, 684.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "12.在算盘上拨珠子是(", "bbox": [1001, 684, 1156, 705], "points": [[1001.0, 686.0], [1156.0, 684.0], [1156.0, 703.0], [1001.0, 705.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "B", "bbox": [1070, 650, 1082, 663], "points": [[1070.0, 650.0], [1082.0, 650.0], [1082.0, 663.0], [1070.0, 663.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "12.在算盘上拨珠子是(", "bbox": [1001, 684, 1156, 705], "points": [[1001.0, 686.0], [1156.0, 684.0], [1156.0, 703.0], [1001.0, 705.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "B. 60*", "bbox": [1087, 660, 1137, 684], "points": [[1087.0, 665.0], [1136.0, 660.0], [1137.0, 680.0], [1089.0, 684.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "12.在算盘上拨珠子是(", "bbox": [1001, 684, 1156, 705], "points": [[1001.0, 686.0], [1156.0, 684.0], [1156.0, 703.0], [1001.0, 705.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "C. 45°", "bbox": [1183, 664, 1228, 684], "points": [[1183.0, 664.0], [1228.0, 664.0], [1228.0, 684.0], [1183.0, 684.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "12.在算盘上拨珠子是(", "bbox": [1001, 684, 1156, 705], "points": [[1001.0, 686.0], [1156.0, 684.0], [1156.0, 703.0], [1001.0, 705.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "D. 30° ", "bbox": [1273, 664, 1329, 684], "points": [[1273.0, 664.0], [1329.0, 664.0], [1329.0, 684.0], [1273.0, 684.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "12.在算盘上拨珠子是(", "bbox": [1001, 684, 1156, 705], "points": [[1001.0, 686.0], [1156.0, 684.0], [1156.0, 703.0], [1001.0, 705.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "A.旋转", "bbox": [999, 707, 1054, 727], "points": [[999.0, 707.0], [1054.0, 707.0], [1054.0, 727.0], [999.0, 727.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "12.在算盘上拨珠子是(", "bbox": [1001, 684, 1156, 705], "points": [[1001.0, 686.0], [1156.0, 684.0], [1156.0, 703.0], [1001.0, 705.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "B.平移", "bbox": [1087, 707, 1144, 727], "points": [[1087.0, 707.0], [1144.0, 707.0], [1144.0, 727.0], [1087.0, 727.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "12.在算盘上拨珠子是(", "bbox": [1001, 684, 1156, 705], "points": [[1001.0, 686.0], [1156.0, 684.0], [1156.0, 703.0], [1001.0, 705.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "C.既不是平移,也不是旋转+", "bbox": [1181, 705, 1368, 728], "points": [[1181.0, 705.0], [1368.0, 705.0], [1368.0, 728.0], [1181.0, 728.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "12.在算盘上拨珠子是(", "bbox": [1001, 684, 1156, 705], "points": [[1001.0, 686.0], [1156.0, 684.0], [1156.0, 703.0], [1001.0, 705.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "13.如果一个图形沿着一", "bbox": [999, 727, 1142, 750], "points": [[999.0, 727.0], [1142.0, 727.0], [1142.0, 750.0], [999.0, 750.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "12.在算盘上拨珠子是(", "bbox": [1001, 684, 1156, 705], "points": [[1001.0, 686.0], [1156.0, 684.0], [1156.0, 703.0], [1001.0, 705.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "一条直线对折,两侧的图形能够完全重合,这个图形就是", "bbox": [1135, 728, 1475, 746], "points": [[1135.0, 728.0], [1475.0, 728.0], [1475.0, 746.0], [1135.0, 746.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "12.在算盘上拨珠子是(", "bbox": [1001, 684, 1156, 705], "points": [[1001.0, 686.0], [1156.0, 684.0], [1156.0, 703.0], [1001.0, 705.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "15.在对称图形中,对称轴两侧相对的点到对称轴的", "bbox": [1003, 790, 1325, 808], "points": [[1003.0, 790.0], [1325.0, 790.0], [1325.0, 808.0], [1003.0, 808.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "折痕所在的直线叫做", "bbox": [1001, 748, 1128, 767], "points": [[1001.0, 748.0], [1128.0, 748.0], [1128.0, 767.0], [1001.0, 767.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "14.圆的对称轴有", "bbox": [1003, 769, 1114, 789], "points": [[1003.0, 769.0], [1114.0, 769.0], [1114.0, 789.0], [1003.0, 789.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "折痕所在的直线叫做", "bbox": [1001, 748, 1128, 767], "points": [[1001.0, 748.0], [1128.0, 748.0], [1128.0, 767.0], [1001.0, 767.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "条,", "bbox": [1161, 769, 1193, 789], "points": [[1161.0, 769.0], [1193.0, 769.0], [1193.0, 789.0], [1161.0, 789.0]], "pred_id": 3, "pred": "ANSWER"}]]}
imgs\8.png	{"ocr_info": [[{"transcription": "(1)火车在行使的运动是", "bbox": [132, 102, 275, 124], "points": [[132.0, 102.0], [275.0, 102.0], [275.0, 124.0], [132.0, 124.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "向左移3格", "bbox": [163, 1006, 258, 1029], "points": [[163.0, 1006.0], [258.0, 1006.0], [258.0, 1029.0], [163.0, 1029.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "(1)火车在行使的运动是", "bbox": [132, 102, 275, 124], "points": [[132.0, 102.0], [275.0, 102.0], [275.0, 124.0], [132.0, 124.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "物向上移2格", "bbox": [335, 1009, 440, 1028], "points": [[335.0, 1009.0], [440.0, 1009.0], [440.0, 1028.0], [335.0, 1028.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "(1)火车在行使的运动是", "bbox": [132, 102, 275, 124], "points": [[132.0, 102.0], [275.0, 102.0], [275.0, 124.0], [132.0, 124.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "向右移4格", "bbox": [515, 1006, 613, 1029], "points": [[515.0, 1006.0], [613.0, 1006.0], [613.0, 1029.0], [515.0, 1029.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "图形名称", "bbox": [135, 220, 198, 238], "points": [[135.0, 220.0], [198.0, 220.0], [198.0, 238.0], [135.0, 238.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "等腰", "bbox": [213, 207, 257, 232], "points": [[213.0, 212.0], [255.0, 207.0], [257.0, 227.0], [215.0, 232.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "图形名称", "bbox": [135, 220, 198, 238], "points": [[135.0, 220.0], [198.0, 220.0], [198.0, 238.0], [135.0, 238.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "等腰", "bbox": [280, 210, 316, 230], "points": [[280.0, 210.0], [316.0, 210.0], [316.0, 230.0], [280.0, 230.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "图形名称", "bbox": [135, 220, 198, 238], "points": [[135.0, 220.0], [198.0, 220.0], [198.0, 238.0], [135.0, 238.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "长方形", "bbox": [345, 216, 395, 240], "points": [[345.0, 216.0], [395.0, 216.0], [395.0, 240.0], [345.0, 240.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "三角形", "bbox": [217, 228, 273, 251], "points": [[217.0, 228.0], [273.0, 228.0], [273.0, 251.0], [217.0, 251.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "梯形", "bbox": [281, 230, 320, 250], "points": [[281.0, 230.0], [320.0, 230.0], [320.0, 250.0], [281.0, 250.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "三角形", "bbox": [217, 228, 273, 251], "points": [[217.0, 228.0], [273.0, 228.0], [273.0, 251.0], [217.0, 251.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "三角形", "bbox": [403, 228, 456, 251], "points": [[403.0, 228.0], [456.0, 228.0], [456.0, 251.0], [403.0, 251.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "26.按要求画图", "bbox": [939, 370, 1048, 398], "points": [[940.0, 370.0], [1048.0, 374.0], [1047.0, 398.0], [939.0, 394.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "(5)先向右平移5格,再向上平移3格.←", "bbox": [943, 355, 1223, 372], "points": [[943.0, 355.0], [1223.0, 355.0], [1223.0, 372.0], [943.0, 372.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "26.按要求画图", "bbox": [939, 370, 1048, 398], "points": [[940.0, 370.0], [1048.0, 374.0], [1047.0, 398.0], [939.0, 394.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "(2)将右图绕点0顺时针旋转90度,再向左平移3格.", "bbox": [946, 562, 1294, 583], "points": [[946.0, 562.0], [1294.0, 562.0], [1294.0, 583.0], [946.0, 583.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "22.画出下列是轴对称图形的所有对称轴:", "bbox": [132, 449, 410, 469], "points": [[132.0, 449.0], [410.0, 451.0], [410.0, 469.0], [132.0, 468.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "XX", "bbox": [153, 572, 356, 659], "points": [[153.0, 572.0], [356.0, 572.0], [356.0, 659.0], [153.0, 659.0]], "pred_id": 3, "pred": "ANSWER"}]]}
imgs\9.png	{"ocr_info": [[{"transcription": "【解析】↑", "bbox": [915, 338, 983, 365], "points": [[915.0, 342.0], [982.0, 338.0], [983.0, 361.0], [916.0, 365.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "解答:根据平移不改变图形的形状、大小和方向,将题图所示的图案通过平移后可以得到的", "bbox": [912, 157, 1469, 173], "points": [[912.0, 157.0], [1469.0, 157.0], [1469.0, 173.0], [912.0, 173.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "考点:旋转.↑", "bbox": [914, 364, 1009, 382], "points": [[914.0, 364.0], [1009.0, 364.0], [1009.0, 382.0], [914.0, 382.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "分析:由△COD是由△AOB绕点O按逆时针方向旋转而得,可知旋转的角度是乙BOD的大小,", "bbox": [914, 384, 1462, 405], "points": [[914.0, 384.0], [1462.0, 384.0], [1462.0, 405.0], [914.0, 405.0]], "pred_id": 3, "pred": "ANSWER"}], [{"transcription": "解答:因为△COD是由△AOB绕点O按逆时针方向旋转而得,所以OB=OD,因为旋转的角度", "bbox": [914, 425, 1469, 446], "points": [[914.0, 425.0], [1469.0, 425.0], [1469.0, 446.0], [914.0, 446.0]], "pred_id": 1, "pred": "QUESTION"}, {"transcription": "分析:根据平移的性质可知,图中DE与AB是对应线段,DE是AB向右平移4个单位,再向", "bbox": [912, 258, 1472, 279], "points": [[912.0, 258.0], [1472.0, 258.0], [1472.0, 279.0], [912.0, 279.0]], "pred_id": 3, "pred": "ANSWER"}]]}

1_ser_re
2_ser_re
3_ser_re
4_ser_re
5_ser_re
6_ser_re
7_ser_re
8_ser_re
9_ser_re
10_ser_re
11_ser_re


Fine-tuning

1.SRE 算法类别介绍
image
图中不同颜色的框表示不同的类别。

图中的发票以及申请表图像,有QUESTION, ANSWER, HEADER 3种类别,识别的QUESTION, ANSWER可以用于后续的问题与答案的关系抽取。
image
图中的身份证图像,则直接识别出其中的姓名、性别、民族等关键信息,这样就无需后续的关系抽取过程,一个模型即可完成关键信息抽取。 尚未深入研究这个直接识别有没有用 可能直接匹配String 来做到的抽取

2.RE模型
image
红色框是问题,蓝色框是答案。绿色线条表示连接的两端为一个key-value的pair。

对于当前任务而言 Fine-tuning 可以直接微调RE模型。 尚未深入研究但其输入大概为 [类别 ,bbox ,string] 输出为关系,那么只需要构建markdown 中的 问题 - 答案 - bbox 即可作为数据集训练

image


数据格式

训练文档 https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/doc/doc_ch/kie.md
建议将训练图片放入同一个文件夹,并用一个文本文件记录图片路径和标签,文本文件里的内容如下:

" 图像文件名                 图像标注信息 "
zh_train_0.jpg   [{"transcription": "汇丰晋信", "label": "other", "points": [[104, 114], [530, 114], [530, 175], [104, 175]], "id": 1, "linking": []}, {"transcription": "受理时间:", "label": "question", "points": [[126, 267], [266, 267], [266, 305], [126, 305]], "id": 7, "linking": [[7, 13]]}, {"transcription": "2020.6.15", "label": "answer", "points": [[321, 239], [537, 239], [537, 285], [321, 285]], "id": 13, "linking": [[7, 13]]}]
zh_train_1.jpg   [{"transcription": "中国人体器官捐献", "label": "other", "points": [[544, 459], [954, 459], [954, 517], [544, 517]], "id": 1, "linking": []}, {"transcription": ">编号:MC545715483585", "label": "other", "points": [[1462, 470], [2054, 470], [2054, 543], [1462, 543]], "id": 10, "linking": []}, {"transcription": "CHINAORGANDONATION", "label": "other", "points": [[543, 516], [958, 516], [958, 551], [543, 551]], "id": 14, "linking": []}, {"transcription": "中国人体器官捐献志愿登记表", "label": "header", "points": [[635, 793], [1892, 793], [1892, 904], [635, 904]], "id": 18, "linking": []}]

注意: 文本文件中默认请将图片路径和图片标签用 \t 分割,如用其他方式分割将造成训练报错。

其中图像标注信息字符串经过json解析之后可以得到一个列表信息,列表中每个元素是一个字典,存储了每个文本行的需要信息,各个字段的含义如下。

transcription: 存储了文本行的文字内容
label: 该文本行内容所属的类别
points: 存储文本行的四点位置信息
id: 存储文本行的id信息,用于RE任务的训练
linking: 存储文本行的之间的连接信息,用于RE任务的训练

demo中的zeroshot 是在XFUND上训练来的 训练集图片数量 149张 数据量很少
microsoft/unilm/layoutxlm, https://github.com/microsoft/unilm/tree/master/layoutxlm
XFUND dataset, https://github.com/doc-analysis/XFUND

参考链接
LayoutXLM: Multimodal Pre-training for Multilingual Visually-rich Document Understanding, https://arxiv.org/pdf/2104.08836.pdf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants