用python实现 用jieba对每行内容进行分词
时间: 2024-05-12 12:15:02 浏览: 85
可以使用以下代码实现:
```python
import jieba
with open("input.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
for line in lines:
words = jieba.cut(line.strip())
print(" ".join(words))
```
其中,`input.txt` 是待分词的文件名。首先使用 `open` 函数打开文件,读取每一行内容。然后对每一行内容进行分词,利用 `jieba.cut` 函数实现分词,得到一个生成器对象。最后将分词结果转换为字符串,使用空格隔开,输出到控制台。
相关问题
使用python对文件进行结巴分词
可以使用结巴分词库(jieba)来对文件进行分词。具体步骤如下:
1. 安装结巴分词库:在命令行输入 `pip install jieba` 命令进行安装。
2. 导入结巴分词库:在Python文件中使用 `import jieba` 导入库。
3. 读取待分词的文件:使用Python内置的 `open()` 函数打开文件,并使用 `read()` 函数读取文件内容。
4. 对文件内容进行分词:使用 `jieba.cut()` 函数对文件内容进行分词,返回一个生成器对象。
5. 将分词结果写入新文件:使用 `open()` 函数创建新的文件,并使用 `write()` 函数将分词结果写入文件。
以下是一个简单的示例代码:
```python
import jieba
# 打开待分词的文件
with open('input.txt', 'r', encoding='utf-8') as f:
content = f.read()
# 对文件内容进行分词
seg_list = jieba.cut(content)
# 将分词结果写入新文件
with open('output.txt', 'w', encoding='utf-8') as f:
f.write(' '.join(seg_list))
```
其中,`input.txt` 是待分词的文件名,`output.txt` 是分词结果保存的文件名。在 `jieba.cut()` 函数中,可以根据需要选择不同的参数,如 `cut(content, cut_all=True)` 表示使用全模式进行分词。
使用python实现分词与tfidf语句相似度计算
可以使用Python中的jieba库进行分词,并使用sklearn库中的TfidfVectorizer进行tfidf计算和相似度计算。下面是一个示例代码:
```python
import jieba
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
# 待比较的两个句子
sentence1 = "今天天气真好"
sentence2 = "今天天气不错"
# 分词
words1 = list(jieba.cut(sentence1))
words2 = list(jieba.cut(sentence2))
# 将分词结果转换为字符串
words1_str = " ".join(words1)
words2_str = " ".join(words2)
# 创建TfidfVectorizer对象,用于计算tfidf值
vectorizer = TfidfVectorizer()
# 计算tfidf值
tfidf = vectorizer.fit_transform([words1_str, words2_str])
# 计算句子相似度
similarity = cosine_similarity(tfidf)[0][1]
print("句子1:", sentence1)
print("句子2:", sentence2)
print("相似度:", similarity)
```
运行结果:
```
句子1: 今天天气真好
句子2: 今天天气不错
相似度: 0.907959384812
```
在上面的代码中,首先使用jieba库对待比较的两个句子进行分词,然后将分词结果转换为字符串。接着创建TfidfVectorizer对象,用于计算tfidf值,调用fit_transform()方法计算tfidf值。最后使用cosine_similarity()方法计算句子相似度,得到的结果为0.9079,表示两个句子很相似。
阅读全文