本文目标:
从考研英语往年真题中提取单词,统计单词出现次数,按照频数排序并写入表格文件
第一步
导入必要的库
其中re
用于文本处理,jieba
用于分词,pandas
用于写入表格文件
1 | import re |
第二步
打开文件1
file=open('/home/fantasy/Desktop/kyyy.txt').read()
第三步
文本处理
1 | for line in file: |
1 | # 大佬请自动忽略这段辣眼睛的代码qaq~^---^~~~ |
1 | f=jieba.cut(file,' ' ) |
第四步
利用字典数据结构统计词频并存入
1 | counter = {} |
1 | #忽略的常用词汇 |
第五步
设定提取规则
1 | #提取设定规则的单词及其频数 |
1 | len(word)==len(values) |
True
第六步
将词频大于1的单词写入文件并保存之
1 | #创建一个空的数据框 |
1 | #写入文件 |
1 | #只提取出现次数大于1的单词 |
1 | #保存文件 |
~~~~~~~~~~华丽的分割线~~~~~~~~~~~
第七步
翻译单词
以下翻译过程暂时未完成,有时间再研究下
1 | #翻译 |
they
eval() arg 1 must be a string, bytes or code object
more
eval() arg 1 must be a string, bytes or code object
points
eval() arg 1 must be a string, bytes or code object
there
eval() arg 1 must be a string, bytes or code object
were
eval() arg 1 must be a string, bytes or code object
......
后记:
这次用到的文本文件是截止到2010年之前的考研英语真题,其原始格式是word,内容被copy至新建的txt文件中,并且部分单词拼写有误或者“被空格中断”,所以在最后get的表格文件中有大约2%的单词拼写不准确(但还可以分辨出来),如果想要使得最后获取的表格文件更加准确,可以应用更合格(单词错误率低+更多文本数据,比如加入2011至今的题目(这次因为没有找到合适的近八年真题文件,所以没有统计这一部分))的文本文件来进行上述处理。
这就好比机器学习中用于模型训练和测试的数据集一样,数据的真实性和准确性越高,则模型的拟合效果越好,其预测或分类能力也就越强。
当然,你也可以搜集高考单词,四六级单词等等进行同样的处理。发现没有,举一个栗子可以返好多栗子嘞