jupyter notebook jieba
时间: 2025-07-24 09:10:48 AIGC 浏览: 19
在 Jupyter Notebook 中使用 `jieba` 进行中文分词是一个非常常见的任务,尤其在自然语言处理(NLP)和文本挖掘领域。以下是详细的使用方法和步骤说明:
### 安装 jieba 库
如果尚未安装 `jieba`,可以通过以下命令在 Jupyter Notebook 中进行安装:
```python
!pip install jieba
```
### 导入 jieba
安装完成后,在 Notebook 中导入 `jieba` 模块:
```python
import jieba
```
### 基本分词方法
`jieba` 提供了多种分词模式,包括精确模式、全模式和搜索引擎模式:
- **精确模式**:适合文本分析,将句子最精确地切开。
```python
seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
print("精确模式: " + "/".join(seg_list)) # 输出:我/来到/北京/清华大学
```
- **全模式**:将句子中所有可能的词语都切分出来,适合召回率高的场景。
```python
seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
print("全模式: " + "/".join(seg_list)) # 输出:我/来到/北京/清华/华大/大学/清华大学/大
```
- **搜索引擎模式**:适合用于搜索引擎,对长词进行再切分。
```python
seg_list = jieba.cut_for_search("我来到北京清华大学")
print("搜索引擎模式: " + "/".join(seg_list)) # 输出:我/来到/北京/清华/华大/大学/清华大/学/清华大学
```
### 自定义词典
为了提升特定领域或专业术语的分词准确性,可以加载自定义词典。使用 `jieba.load_userdict(file)` 加载外部词典文件,其中每行包含一个词语及其可选词频和词性:
```python
jieba.load_userdict("my_dict.txt")
```
文件格式示例如下:
```
自定义词 3 n
专业术语 5 v
```
### 去重分词
若希望对分词结果去重,可以通过 `set()` 函数实现:
```python
import pandas as pd
# 假设 data 是包含评论的 DataFrame
data = pd.DataFrame({'comment': ['这个产品非常好,我非常喜欢', '服务态度很差,不会再来了']})
data['cut'] = data['comment'].apply(lambda x: list(set(jieba.cut(x))))
```
### 停用词过滤
为了去除无意义的词汇(如“的”、“了”等),可以使用停用词表进行过滤:
```python
with open('stopwords.txt', 'r', encoding='utf-8') as f:
stopwords = set(f.read().splitlines())
filtered_words = [word for word in data['cut'][0] if word not in stopwords]
```
### 关键词提取
`jieba` 还支持基于 TF-IDF 和 TextRank 算法的关键词提取:
- **TF-IDF 方法**:
```python
from jieba import analyse
keywords = analyse.extract_tags("这个产品非常好,我非常喜欢", topK=5)
print("TF-IDF 关键词: " + "/".join(keywords)) # 输出:产品/非常/喜欢
```
- **TextRank 方法**:
```python
keywords = analyse.textrank("这个产品非常好,我非常喜欢", topK=5)
print("TextRank 关键词: " + "/".join(keywords)) # 输出:产品/喜欢/非常
```
### 性能与准确度比较
如果对分词的准确度有更高要求,可以考虑使用其他库如 `pkuseg`,它在特定领域(如医疗、金融)的分词效果更优。不过,对于大多数通用场景,`jieba` 已经足够高效且易于使用[^2]。
---
阅读全文
相关推荐
















