实习日志
第一周
2023年8月3日
上午读入MATH23K.json时用Python自带的json库无法读入,因为该文件格式不是标准的json,整体并不是一个完整的list,且每个dict之间没有逗号。但每个dict占用7行,因此也不是jsonl格式。根据读入的报错查询了多种解决办法均无果,最后从数据集入手,查询使用它的相关论文,在github上找到开源代码,定位到数据读取的函数,问题解决。(其实可以自己写函数读文件,但是懒)
2023年8月4日
今日无事,原来工作是真的会摸鱼的。下班之后骑自行车回的学校,一路上有夕阳相伴,幸福。
2023年8月5日
上午去公司听了讲座,感觉人工智能的发展空间还是蛮大的。不得不承认大量语料库的堆积就是会提升语言模型的性能,同时了解到安全问题其实很重要,功能越强大的平台越可能被从多方面攻击。
第二周
2023年8月7日
今日依旧无事,又深入研究了一下机器学习的数据集划分和特征选择。需要给自己白天找点事情做了。(想做雅思但在电脑上看阅读太过于明目张胆了)
2023年8月8日
在进行MMCU数据集清洗的时候,发现它dev部分的数据远少于test部分的数据,鉴于一般train : test=7 : 3的疑惑,上网搜索这个数据集,发现该数据集就是一个测试集:few-shot开发集每个主题有5个问题,共有55个问题;测试集共有11845个问题。
中午和叔叔聊天,说目前AI领域活的就是大模型开发,不论是CV 还是NLP,多模态将是未来研究的热点。
2023年8月9日
今日无事。认真读书,背单词,用远控做了阅读,还学了神经网络的模型。晚上在单位吃了饭,回学校游了泳,很充实。
2023年8月10日
今天处理的数据集是扫描的PDF文档,要将其转换为给定格式的.docx。
遇到的第一个问题其实是下载数据集,学长提供的是是服务器的地址,第一下有点懵,后来通过scp连上了,还了解了几个APP,不错,打算总结到新文章里。
明天看看怎么识别文字吧。
2023年8月11日
今天进展不错,通过PDF转PNG,再给PNG去水印,再用OCR识别文字。
去水印蛮有意思,是通过遍历图片的每一个像素点,如果像素符合条件就把它替换掉。我处理的文档里面水印是红色RGB=(255, x, x)
,文字是黑色RGB=(0, 0, 0)
也就是说遇到这样的点就让他变白RGB=(255, 255, 255)
,刚开始还不知道只要是红色RGB的第一项就是拉满的,调了好久。
OCR识别遇到的第一个问题竟然是因为挂了代理所以模型git不到:
1 | SSLError: HTTPSConnectionPool(host='huggingface.co', port=443) |
最后是直接去Hugging Face上下载模型,放到相应的文件夹里(从报错中找到的文件夹位置)。后来是发现有水印的时候识别结果有一点混乱,所以才添加了前文所说的去水印的步骤。
目前遇到的问题是因为靠的是OCR识别,一行一行识别,格式比较混乱,但数据量比较大,手动改格式不太现实,还没想好怎么解决。
第三周
2023年8月14日
今天总算是找到了第一本书的数据清洗方式,因为OCR识别是一行一行识别,我们利用这个特性,在text[0]=='A'
的内容前面加上 “选项:”,同时设定如果该行文字以数字开头则换行,这样写进文档的内容就有了一定的格式,我们再将文本按章节分段,放入不同的文本让你文件,每行一道题,就成功将题目与答案对齐。同时在pycharm中通过Ctrl + Windows + Shift
实现多光标多行同时编辑,大大提高了效率。
2023年8月15日
处理数据集,进入机械化操作阶段。pycharm的Ctrl + F
与Ctrl + R
做文本替换大大提高效率。(偏个题,100DAYHAPPY)
2023年8月16日
继续处理数据集,发现右手食指左侧有一小块发紫,希望不是按鼠标按的。
2023年8月17日
处理完了最后一个,感觉OCR识别真的是全靠汉字形状,如果能添加语义信息的话或许效果会更高,减少错别字啊,还有莫名其妙多出来的汉字啊等等。一个小小的设想。
2023年8月18日
今日无事,身体不适。才知道调休不扣钱。
第四周
2023年8月22日
今天收到了新的数据集,这次终于是提取正常的PDF的文字和图片了,我采用的是pdfplumber库。
一般PDF不同行不同段落之间都以"\n"
结尾,因此在读取PDF的时候最常见的问题就是同一段被换了很多次行。
因为pdfplumber库中的.extract_text()
函数可以定位每一个字段的起始和结束的坐标位置,在多次试验后,我发现首行缩进两字符后字段的起始位置(x0=102.0)
为定值,因此,借助此特征,我只需要将x0==102.0
的字段被append之前加入换行符,成功解决该问题。(起初考虑每一段中前面每行都是写满的,没写满的后面就要加换行符,但此方法漏洞太多)。
除此之外,根据文档的格式,我还加了一些其他的筛选条件,最终结果很好。注意if
和elif
最后一定要有else
。
最终代码如下:
1 | for word in words: |
2023年8月23日
进入对文档表格的处理,由于该文件中的表格全都是以图片的形式存在,因此表格提取的步骤为:读取PDF文件中的所有图片——通过OCR识别文字——通过Typora将文字打入表格并保存为markdown格式。
首先安装typora,第一次在Linux上安装,修改配置文件的时候需要在sudo -i
进入root之后进行。
之后就是重复的Ctrl+C
Ctul+V
操作了。
2023年8月24日
处理了一天表格,终于结束!
2023年8月25日
新的数据集,MNBVC)(Massive Never-ending BT Vast Chinese corpus)
还蛮有意思,也在里面看到了自己之前提出的NLP辅助OCR识别。
2023年8月26日
努力起床去听了培训,今天讲的是NLP概述,但那个老师讲了不到40min就没话说了。
后来大家就开始闲聊,感觉其实关于CV和NLP以至于说机器学习,最重要的其实是数据集,数据集的质量决定整个模型的上限,我们虽然创造了很多很多的模型,设置了很多不同的细节,但如果基本的数据集质量不行,最后得到的东西也不会好到哪去。
除此之外这还说明数据集是AI领域很关键的内容,ChatGPT就是因为数据集很庞大,数据质量高,所以最后的效果才很好。
第五周
2023年8月28日
.csv
和.jsonl
文件处理起来快速且顺利。
但最近遇到的文件都很大(类似2GB),本来想将文件全部读入再转换格式,但电脑直接卡了,说系统内存不足。最后采用了边读边写入的方式,问题解决。
但目前不太清楚卡住的时候到底是哪里的内存满了,明天研究一下。
2023年8月29日
内存探究在另一篇文章中,今天处理的文件没有难度,快快完成。
2023年8月30日
一直到下午四点左右才收到任务,最近处理的数据集都蛮大的,要注意内存的使用。
2023年8月31日
八月的最后一天,今天筛选数据的时候感受到了python中if
之后的多个elif
顺序的重要性,因为条件是依次检查的,如果if
后的条件有交叉,不同的顺序会导致不同的结果。不太知道python读取文件夹中所有文件时文件是怎么排序的。
2023年9月1日
今日无事,摸鱼。学了英语。
第六周
2023年9月4日
还有两周就要考雅思了,急急急。下午收到了新任务,是要处理一个公务员考试的数据集,内容特别多,学长处理了很久才处理了5个省份,但好处是我们在处理之前就有了脚本。了解了一个新的操作word文件的库,叫Python-docx
:https://www.osgeo.cn/python-tutorial/docx-read.html。此库只能处理`.docx`的文件,但不能处理`.doc`。上网查询两种文件区别:
.doc文件是Microsoft Word 97-2003二进制文件格式的扩展名。
.docx文件是Microsoft Word 2007及更高版本的XML文档格式的扩展名。具有更好的兼容性
看懂学长代码也花了点时间,但他利用纯文本文件的题号匹配真的是我之前没想到的。
2023年9月5日
今天一口气把黑龙江的数据处理完了,对学长的代码反复需要修改的内容进行了变量化,提高效率。两个函数分别对应题目和答案在一起和分开两种情况。
2023年9月6日
头疼,请假了,睡到十点多,很满足。
2023年9月7日
果然人还是需要充足的睡眠,今天状态很好,一天处理完了两个省份的数据,但其中有一些像1+1=3这样匪夷所思的错题,对数据集质量表示担忧。晚上去商场吃了饭,有人明天开学。
2023年9月8日
今天只处理完了一个省份,但数据量很大,并且格式太混乱了,整理了很久。发现快捷键Ctrl+Ctrl按住+上下键
快速添加同一列光标。也成功利用正则表达式把文字版的页数去掉了,满意。
第六周
2023年9月11日—-2023年9月15日
接着上周的工作用两天时间完成了剩下的四个省份,周三周四偷偷学英语,周五请假没去,在学校学英语。
第七周
2023年9月18日
早上提交了离职申请,下午完成了学校要求的实习报告,刚写完我的账号就被注销了(这么急干嘛),又借用同事的号请老师帮忙签了导师意见,因为在内网上发的东西不能外传,只能明天麻烦同事帮忙打印一下再去盖章。对了,中午屠叔叔和部长请我们几个实习生吃了自助,聊的还蛮开心,对未来生活充满期待。
2023年9月19日
倒数第二天,请同事帮忙打印了文件,在系统上申请了盖章,又从三号楼跑到六号楼去盖章。从人事系统上能看到离职进程,发现卡在了工作交接表双方签字提交的步骤,又自己去联系天津的导师,结果导师让我自己写,我??最后找了南京的另一个指导过我们的老师,帮我写了,打印出来交给了负责人。除此之外,还自己去找负责人完成了资产清算(我就没资产😢)。今天结束。
2023年9月20日
最后一天!上午把考勤确认了。下午把鼠标键盘终端显示器都原封不动塞回了盒子里,去六号楼三楼交还工卡,打电话删除门禁卡权限,结束。
PS.感觉离职比入职还麻烦。