【写在前面】
本篇是个人在运用Python进行文本分析时的备忘录。其重点在于根据一段文本抓取多个特定的关键词,并统计关键词在文本中的出现频数,使用字典方式{关键词:词频}保存与访问数据。之前虽然使用过jieba分词器,但其一般针对双字的关键词。对于多字关键词的支持有欠缺,因此本篇主要采用re.split方法进行语句裁剪。
【测试文本】
教育与培训是创新的基础和前提,它可以提高个人和社会的创新能力和素质。高等教育的作用主要体现在以下几个方面。
首先,高等教育可以培养创新人才,为社会提供创新的源泉和动力。高等教育机构是知识的创造者、传播者和应用者,它们通过教学、科研、服务等活动,培养学生的创新思维、
创新能力和创新精神,为社会输送具有创新意识和创新能力的专业人才;其次,高等教育可以推动创新理论和方法的发展,为社会提供创新的指导和支持。
高等教育机构是创新理论和方法的探索者和改进者,它们通过开展前沿的学术研究,不断拓展和深化创新的概念、范式、模式、过程、机制等,
为社会提供创新的理论框架和方法工具;最后,高等教育可以促进创新成果的转化和应用,为社会提供创新的产品和服务。高等教育机构是创新成果的产出者和转化者,
它们通过与产业界、政府部门、社会组织等合作,将科研成果转化为具有市场价值和社会效益的产品和服务,为社会提供创新的解决方案和增长动力。
而与此同时,持续学习的重要性也不可小觑。持续学习可以帮助个人适应快速变化的知识环境,保持创新的潜力和竞争力。知识是创新的基础,
而知识在现代社会中以惊人的速度更新和发展,如果不进行持续学习,个人就会面临知识过时、落后于时代、失去优势的风险。
持续学习可以使个人不断获取最新的知识,拓展知识视野,增强知识储备,从而为创新提供更多的可能性和优势。另外,持续学习可以帮助个人培养多元化的技能和能力,
提高创新的效率和质量。技能是创新的工具,而技能在现代社会中也需要不断地更新和完善,如果不进行持续学习,个人就会面临技能陈旧、不适应需求、失去效果的风险。
持续学习可以使个人不断掌握最新的技能,提升技能水平,增强技能灵活性,从而为创新提供更多的支持和保障。
此外,持续学习可以帮助个人激发创造性思维和情感,增强创新的动力和信心。思维是创新的源泉,而思维在现代社会中也需要不断地激活和挑战,
如果不进行持续学习,个人就会面临思维僵化、缺乏灵感、失去信心的风险。持续学习可以使个人不断接触新鲜事物,激发思维活力,增强思维敏锐性,从而为创新提供更多的动力和信心。
在运行前用Word统计结果:关键词“教育”8次、“创新”27次、“学习”10次
【代码实现】
import re
from collections import Counter
text = '''
教育与培训是创新的基础和前提,它可以提高个人和社会的创新能力和素质。高等教育的作用主要体现在以下几个方面。 首先,高等教育可以培养创新人才,为社会提供创新的源泉和动力。高等教育机构是知识的创造者、传播者和应用者,它们通过教学、科研、服务等活动,培养学生的创新思维、 创新能力和创新精神,为社会输送具有创新意识和创新能力的专业人才;其次,高等教育可以推动创新理论和方法的发展,为社会提供创新的指导和支持。 高等教育机构是创新理论和方法的探索者和改进者,它们通过开展前沿的学术研究,不断拓展和深化创新的概念、范式、模式、过程、机制等, 为社会提供创新的理论框架和方法工具;最后,高等教育可以促进创新成果的转化和应用,为社会提供创新的产品和服务。高等教育机构是创新成果的产出者和转化者, 它们通过与产业界、政府部门、社会组织等合作,将科研成果转化为具有市场价值和社会效益的产品和服务,为社会提供创新的解决方案和增长动力。 而与此同时,持续学习的重要性也不可小觑。持续学习可以帮助个人适应快速变化的知识环境,保持创新的潜力和竞争力。知识是创新的基础, 而知识在现代社会中以惊人的速度更新和发展,如果不进行持续学习,个人就会面临知识过时、落后于时代、失去优势的风险。 持续学习可以使个人不断获取最新的知识,拓展知识视野,增强知识储备,从而为创新提供更多的可能性和优势。另外,持续学习可以帮助个人培养多元化的技能和能力, 提高创新的效率和质量。技能是创新的工具,而技能在现代社会中也需要不断地更新和完善,如果不进行持续学习,个人就会面临技能陈旧、不适应需求、失去效果的风险。 持续学习可以使个人不断掌握最新的技能,提升技能水平,增强技能灵活性,从而为创新提供更多的支持和保障。 此外,持续学习可以帮助个人激发创造性思维和情感,增强创新的动力和信心。思维是创新的源泉,而思维在现代社会中也需要不断地激活和挑战, 如果不进行持续学习,个人就会面临思维僵化、缺乏灵感、失去信心的风险。持续学习可以使个人不断接触新鲜事物,激发思维活力,增强思维敏锐性,从而为创新提供更多的动力和信心。
'''
keywords = ["教育", "创新", "学习"]
sentences = re.split("[\s+ ()();,:,、。?!]", text)
Result = []
for sentence in sentences:
for keyword in keywords:
pattern = "(" + keyword + ")"
result = re.findall(pattern, sentence)
Result.append(result)
ResultConv = []
for i in range(len(Result)):
# 取出元素,相当于去掉一层列表
item = Result[i]
# 判断列表长度
tell = len(item)
# 保留实心列表,去掉空列表,实心列表元素加入转换后的新列表
if tell != 0:
item = Result[i][0]
ResultConv.append(item)
else:
continue
# print(ResultConv)
# 转换成字典
Dict = Counter(ResultConv)
print(Dict)
【运行结果】
Counter({'创新': 25, '学习': 10, '教育': 8})
【小结】
由于re.split()分词结果为两层嵌套列表(关键词也呈现列表属性),因此无法满足字典键不可改变的创建要求,为此在生成字典前还要将输出结果进行整理,去除多余的空列表元素,保持输出结果的整洁。但在运行中发现,re.split()方法无法处理长文段中出现的多个关键词,从而产生漏记,例如:
创新能力和创新精神,为社会输送具有创新意识和创新能力的专业人才;
以上文段被分成两个部分,但由于两个关键词之间没有分隔符,所以都只计算了一次。也就是说虽然文段有4个“创新”,但只统计到两个。
20240119Update:
前文提到了re.split()在多字关键词统计的优势,这里改用“高等教育”和“创新能力”作为关键词分析同样一段文本,结果如下:
Counter({'高等教育': 7, '创新能力': 3})
以上就是“Python文本分析:词频统计”的全部内容,希望对你有所帮助。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
最后祝大家天天进步!!
上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。