文件分词以及提取关键词

本文介绍了一个使用Python进行歌词分析的过程,包括文件分词、剔除非歌词信息、应用TF-IDF进行关键词提取。作者注意到TF-IDF在歌词分析中的局限性,如特殊分词导致的异常结果,并分享了具体的算法实现。最后,生成了包含所有歌手分词后歌词的concat文件夹。
摘要由CSDN通过智能技术生成

首先我的原始数据是这样的,关于爬虫请看http://blog.csdn.net/jemila/article/details/61196863

我的数据链接:http://pan.baidu.com/s/1hskNlEO 密码:dxv5


加载以下模块

import os
import jieba
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
from langconv import *


from langconv import *加载这个模块是为了简繁转换

加载停止词

f=open(r'C:/Users/user/Desktop/stopword.txt')
stopwords = f.readlines()
stopwords = [i.replace("\n","").decode("gbk") for i in stopwords]

定义一个分词函数

def sent2word(sentence):
    """
    Segment a sentence to words
    Delete stopwords
    """
    segList = jieba.cut(sentence)
    segResult = []
    for w in segList:
        segResult.append(w)
    newSent = []
    for word in segResult:
        if word in stopwords:
            # print "stopword: %s" % word
            continue
        else:
            newSent.append(Converter('zh-hans').convert(word.decode('utf-8')))


    return newSent

定义一个新建文件夹函数

def mkdir(path):
    # 引入模块
    import os
 
    # 去除首位空格
    path&#
好的,我可以为您提供以下的Python代码来实现这个功能: ```python import os import re from collections import Counter import jieba.analyse # 读取文本文件提取关键词并统计词频 def extract_keywords(filepath, topk=10): with open(filepath, 'r', encoding='utf-8') as f: content = f.read() # 使用jieba分词提取关键词 keywords = jieba.analyse.extract_tags(content, topK=topk) # 统计关键词出现的次数 counter = Counter(keywords) return dict(counter) # 遍历指定目录下的所有txt文件提取关键词并输出文档 def extract_keywords_from_dir(dirpath, topk=10): # 遍历目录下的所有txt文件 for filename in os.listdir(dirpath): if filename.endswith('.txt'): # 构造文件的绝对路径 filepath = os.path.join(dirpath, filename) # 提取关键词并统计词频 keywords = extract_keywords(filepath, topk) # 将关键词和词频输出到文档中 with open('output.txt', 'a', encoding='utf-8') as f: f.write(f'{filename}:\n') for keyword, count in keywords.items(): f.write(f'\t{keyword}: {count}\n') f.write('\n') # 测试代码 if __name__ == '__main__': # 指定目录路径和输出的关键词数量 dirpath = 'txt_files' topk = 10 # 清空输出文档 with open('output.txt', 'w', encoding='utf-8') as f: f.write('') # 提取关键词并输出文档 extract_keywords_from_dir(dirpath, topk) print('提取完成,结果保存在output.txt中') ``` 这段代码会遍历指定目录下的所有txt文件提取关键词并统计词频,最后将关键词和词频输出到output.txt文件中。您可以根据需要修改目录路径和输出的关键词数量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值