csv分词_最全NLP中文文本分类实践(上)——中文分词获取和Word2Vec模型构建

1 简介最近在学习NLP的相关知识,想通过实践来加深对所学知识的认知。因此,自己从网上找了一个中文语料库进行尝试。本文的实践内容包括文件的读取、中文分词、词向量表达、模型构建和模型融合。本文所采用的语料库为复旦中文文本分类语料库,包含20个类别。但是,这个网盘里面只有train一个文件夹,我就自己人工把它分成了训练集和测试集。网盘链接:https://pan.baidu.com/s/1833mT2...
摘要由CSDN通过智能技术生成

008fd3505c9ecb98a3848070b4893d73.png

1 简介

最近在学习NLP的相关知识,想通过实践来加深对所学知识的认知。因此,自己从网上找了一个中文语料库进行尝试。本文的实践内容包括文件的读取、中文分词、词向量表达、模型构建和模型融合。

本文所采用的语料库为复旦中文文本分类语料库,包含20个类别。但是,这个网盘里面只有train一个文件夹,我就自己人工把它分成了训练集和测试集。

网盘链接:https://pan.baidu.com/s/1833mT2rhL6gBMlM0KnmyKg

密码:zyxa

注:本文重点关注于代码的实践内容,没有背景知识和理论的介绍讲解。新手入门求轻喷,欢迎各位大佬指出错误和不足!

2 文件读取

首先,我们先完成读取一篇文本文档,去除stopwords,只保留中文字符后进行分词。函数extract_words_one_file()可以对单个文件进行处理,提取所有中文分词并返回值。

import re
import os
import numpy as np
import pandas as pd
import jieba
import jieba.analyse  

#从一个文本文件中提取中文分词,以句子或文章的形式保存在列表里
def extract_words_one_file(filepath,all=True):
    #all指的是是否以全文的形式保存所有分词。
    #True则表示一个文章的所有分词都储存在一个列表里,
    #False则表示每个句子的分词分别存在一个列表里,再以文章的形式储存列表

    #打开文本文件函数声明
    def open_file(file_text):
        with open(file_text, "r",errors='ignore') as fp:
            content = fp.readlines()
        return content

    #只保留中文字符
    def remove(text):
        remove_chars = r'[^u4e00-u9fa5]'
        return re.sub(remove_chars, '', text)

    #打开stopwords文件函数声明
    def open_stop(file_stop):
        stopwords = [line.strip() for line in open(file_stop, 'r', encoding='utf-8').readlines()]
        return stopwords

    #利用jieba进行分词
    def seg_sentence(sentence):
        sentence_seged = jieba.cut(sentence.strip())
        stopwords = open_stop("stopwords.txt")  
        outstr = ''
        for word in sentence_seged:
            if word not in stopwords:
                if word != 't':
                    outstr += word
                    outstr &
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值