分词是文本分析第一步,NLTK适合英文、jieba专攻中文;需安装并下载NLTK语料,jieba开箱即用;NLTK按标点空格切分,jieba有精确/全/搜索引擎三种模式;中英文混合应先分离再分别处理。

想用Python做中文或英文的文本分析,分词是绕不开的第一步。NLTK适合英文处理,jieba专为中文设计,两者搭配使用能覆盖大部分基础场景。
安装与基础环境准备
确保已安装Python 3.6以上版本。打开终端或命令行,依次执行:
- pip install nltk jieba —— 安装两个核心库
- 运行Python,输入 import nltk; nltk.download('punkt') —— 下载英文分词所需的数据包(首次使用需联网)
- 中文无需额外下载语料,jieba自带常用词典,开箱即用
NLTK英文分词:简单但实用
NLTK的word_tokenize()能按空格、标点自动切分,对规范英文效果稳定:
- 输入 "Hello, world! How are you?" → 输出 ['Hello', ',', 'world', '!', 'How', 'are', 'you', '?']
- 若需过滤标点,可配合
string.punctuation或正则清洗 - 注意它不支持拼写纠错或歧义消解,纯规则切分,适合预处理阶段
jieba中文分词:三种模式要分清
jieba提供三种切分策略,日常推荐cut()(精确模式),兼顾速度与准确率:
立即学习“Python免费学习笔记(深入)”;
-
精确模式:
jieba.cut("我爱自然语言处理")→ ["我", "爱", "自然语言处理"] -
全模式:
jieba.cut("小明硕士毕业于中国科学院")→ 包含所有可能组合,如"中国"、"科学院"、"中科院"等,易产生冗余 - 搜索引擎模式:在精确模式基础上,对长词再切分,适合关键词提取
中英文混合文本怎么处理
真实文本常夹杂中英文、数字和符号。建议分步处理:
- 先用正则识别并隔离英文单词(如
r'[a-zA-Z]+')和中文片段(r'[\u4e00-\u9fff]+') - 英文部分交给NLTK,中文部分交给jieba,各自分词后再合并结果
- 避免直接用同一工具硬切混合串,否则jieba会把“Python”拆成单字,“NLTK”变成乱码,NLTK则完全无法识别中文
分词不是终点,而是后续词性标注、停用词过滤、TF-IDF或词向量建模的基础。选对工具、理解模式差异,比追求“最准”更重要。










