天天看點

Python實作jieba對文本分詞并寫入新的文本檔案,然後提取出文本中的關鍵詞

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協定,轉載請附上原文出處連結和本聲明。

本文連結:https://blog.csdn.net/github_39655029/article/details/90346045

Python實作jieba對文本分詞并寫入新的文本檔案,然後提取出文本中的關鍵詞

  • 思想

    先對文本進行讀寫操作,利用jieba分詞對待分詞的文本進行分詞,然後将分開的詞之間用空格隔斷;然後調用extract_tags()函數提取文本關鍵詞;

  • 代碼
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/5/19 19:10
# @Author  : cunyu
# @Site    : cunyu1943.github.io
# @File    : Seg.py
# @Software: PyCharm

import jieba
import jieba.analyse

# 待分詞的文本路徑
sourceTxt = './source.txt'
# 分好詞後的文本路徑
targetTxt = './target.txt'

# 對文本進行操作
with open(sourceTxt, 'r', encoding = 'utf-8') as sourceFile, open(targetTxt, 'a+', encoding = 'utf-8') as targetFile:
    for line in sourceFile:
        seg = jieba.cut(line.strip(), cut_all = False)
        # 分好詞之後之間用空格隔斷
        output = ' '.join(seg)
        targetFile.write(output)
        targetFile.write('\n')
    prinf('寫入成功!')

# 提取關鍵詞
with open(targetTxt, 'r', encoding = 'utf-8') as file:
    text = file.readlines()
    """
    幾個參數解釋:
        * text : 待提取的字元串類型文本
        * topK : 傳回TF-IDF權重最大的關鍵詞的個數,預設為20個
        * withWeight : 是否傳回關鍵詞的權重值,預設為False
        * allowPOS : 包含指定詞性的詞,預設為空
    """
    keywords = jieba.analyse.extract_tags(str(text), topK = 10, withWeight=True, allowPOS=())
    print(keywords)
	print('提取完畢!')           

複制