《Python 文本分析實戰:從單詞頻率統計到高效可視化的全流程指南》
一、引言:小任務背后的大世界
在我多年的開發與教學中,文本處理始終是一個繞不開的主題。無論是日志分析、自然語言處理,還是搜索引擎、推薦系統,幾乎所有數據驅動的系統都離不開對文本的理解。而“統計單詞頻率”這個看似簡單的任務,正是打開文本世界的一把鑰匙。
本文將帶你從零開始構建一個單詞頻率統計工具,逐步引入正則表達式、數據結構優化、模塊化設計、性能提升與可視化展示等內容,幫助你在掌握基礎語法的同時,理解 Python 在文本處理領域的強大能力。
二、Python 與文本處理:簡潔之美與生態之力
Python 以其簡潔優雅的語法和豐富的標準庫,在文本處理領域擁有天然優勢。從早期的腳本語言到如今的數據科學與人工智能核心工具,Python 已成為連接數據與應用的“膠水語言”。
在文本分析方面,Python 擁有強大的生態系統:re
模塊用于正則表達式處理,collections
提供高效的數據結構,NLTK
和 spaCy
支持自然語言處理,matplotlib
和 wordcloud
實現可視化展示。這些工具的組合,讓我們可以輕松構建從數據讀取到結果呈現的完整流程。
三、基礎構建:統計文本中的單詞頻率
1. 讀取文本文件
def read_file(file_path):with open(file_path, 'r', encoding='utf-8') as f:return f.read()
2. 清洗文本并分詞
使用正則表達式去除標點符號,并統一大小寫:
import redef tokenize(text):text = text.lower()words = re.findall(r'\b[a-z]+\b', text)return words
3. 統計頻率
使用 collections.Counter
高效統計:
from collections import Counterdef count_words(words):return Counter(words)
4. 輸出結果
def display_top_words(counter, n=10):