当前位置: 首页 > news >正文

python基于百度,哈工大等停用表进行的中文分词

import os
import pandas as pd
import jieba# 加载停用词
def load_stopwords(filenames):stopwords = set()for filename in filenames:with open(filename, 'r', encoding='utf-8') as f:for line in f:stopwords.add(line.strip())return stopwords# 中文分词并去除停用词
def segment_and_remove_stopwords(text, stopwords):words = jieba.cut(text)filtered_words = [word for word in words if word not in stopwords and len(word) > 1]return ' '.join(filtered_words)# 处理评论数据
def process_comments(df, comment_column, stopwords):df['connected_words'] = df[comment_column].apply(lambda x: segment_and_remove_stopwords(x, stopwords))return df# 主函数
def main(input_file_path, output_file_path, comment_column, stopwords_files=[]):# 加载停用词stopwords = load_stopwords(stopwords_files)# 读取CSV文件df = pd.read_csv(input_file_path, encoding='utf-8')# 处理评论数据processed_df = process_comments(df, comment_column, stopwords)# 保存处理后的数据到新的CSV文件processed_df.to_csv(output_file_path, index=False, encoding='utf-8-sig')print(f"数据预处理完成,已保存到 {output_file_path}")if __name__ == '__main__':input_file_path = r"D:\pycharm\爬虫案列\24.汽车之家\_0_10.csv"  # 你的CSV文件路径output_file_path = 'comments_processed.csv'  # 输出文件的路径comment_column = '空间'  # 假设评论数据在'comment'列中# 停用词文件列表,确保这些文件在你的工作目录中stopwords_files = [r"stopwords-master\baidu_stopwords.txt",r"stopwords-master\cn_stopwords.txt",r"stopwords-master\hit_stopwords.txt",r"stopwords-master\scu_stopwords.txt",# ... 其他停用词文件]# 确保所有停用词文件都存在for filename in stopwords_files:if not os.path.exists(filename):print(f"Stopwords file {filename} not found.")exit(1)# 调用主函数处理评论数据main(input_file_path, output_file_path, comment_column, stopwords_files)

停用词表可以去看一下博主的上传的资源 , 可以免费获取的

http://www.lryc.cn/news/358260.html

相关文章:

  • 【学习笔记】计算机组成原理(七)
  • pillow学习4
  • 外企如何有效面对日益严格的跨境数据传输法律?
  • 运维开发.MySQL.范式与反范式化
  • HCIA-HarmonyOS Application Developer 课程大纲
  • 如何用Java实现SpringCloud Alibaba Sentinel的熔断功能?
  • Day27
  • uni-app App端实现文字语音播报(Ba-TTS)
  • 在WHM中如何调整max_upload_size 参数大小
  • docker system prune命令详解
  • 使用jdk自带jhat工具排查OOM问题
  • 独孤思维:付费就是割韭菜,千万别上当
  • 【PB案例学习笔记】-12秒表实现
  • Linux驱动开发笔记(二) 基于字符设备驱动的GPIO操作
  • 【ESP32之旅】ESP32 PlatformIO 固件单独烧录
  • 视频监控业务平台LntonCVS运用国标协议对接视频汇聚管理综合平台应用方案
  • 【Linux 网络编程】协议的分层知识!
  • Firefox国际版
  • 封装和解构是 Python 中常用的技术
  • 理解OAuth:服务间的授权机制
  • JRT性能演示
  • React 使用JSX或者TSX渲染页面
  • 【Linux】Socket中的心跳机制(心跳包)
  • Java怎样动态给对象添加属性并赋值【代码实现】
  • C#多线程同步lock、Mutex
  • 模型实战(21)之 C++ - tensorRT部署yolov8-det 目标检测
  • Linux完整版命令大全(二十一)
  • Elasticsearch集群许可证过期问题解决方法汇总
  • Golang实现根据文件后缀删除文件和递归删除文件
  • Python OCR 文字识别使用模型:读光-文字识别-行识别模型-中英-通用领域