Python自然语言处理教程_分词词频文本分析

15次阅读

Python自然语言处理中,中文分词与词频统计是基础步骤:先用jieba精确模式分词,过滤停用词;再用Counter统计频次,筛选长度>1且频次≥2的词;多文档可结合pandas结构化分析,并通过文本预处理提升分词质量。

Python自然语言处理教程_分词词频文本分析

python自然语言处理,分词和词频统计是最基础也最实用的一步。中文没有天然空格分隔,必须先分词才能进一步分析;而词频则是理解文本主题、提取关键词、做情感判断或构建词向量的起点。

用jieba快速完成中文分词

jieba是Python中最常用、上手最快的中文分词库,支持精确模式、全模式和搜索引擎模式。日常分析推荐精确模式,它能较好平衡准确率和可读性。

  • 安装:运行 pip install jieba
  • 基础用法:import jieba; words = list(jieba.cut(“我爱自然语言处理”)) → 得到 [‘我’, ‘爱’, ‘自然语言处理’]
  • 注意停用词干扰:像“的”“了”“和”这类高频虚词会拉低分析质量,建议提前加载停用词表过滤

统计词频并筛选关键高频词

分好词后,用Python内置的collections.Counter就能高效统计频次,再结合排序和阈值筛选出真正有信息量的词。

  • 统计: from collections import Counter; freq = Counter(words)
  • 取前20: freq.most_common(20)
  • 排除单字和低频噪声:加条件过滤,比如 [w for w, c in freq.items() if len(w) > 1 and c >= 2]

结合pandas做结构化词频分析

当处理多篇文档(如新闻、评论、日志)时,把每篇的词频整理成DataFrame,就能横向对比、画图、导出报表。

立即学习Python免费学习笔记(深入)”;

  • 构造数据:对每篇文本分别分词→统计→转为字典,再合并成列表
  • 转成DataFrame:pd.DataFrame.from_records(freq_list),自动对齐词汇列
  • 后续可轻松计算TF-IDF、做词云、或按时间/类别分组聚合

小技巧:提升分词质量不靠调参靠预处理

比起反复调整jieba参数,更有效的是在分词前清理文本——这步常被忽略,但直接影响结果可信度。

  • 去掉URL、邮箱、特殊符号(正则 re.sub(r’httpS+|[^a-zA-Zu4e00-u9fa5]+’, ‘ ‘, text)
  • 合并常见缩写或领域词:用 jieba.add_word(“bert模型”) 强制切分
  • jieba.load_userdict() 导入自定义词典,适配专业术语或新词
text=ZqhQzanResources