• 基于Python+word2vec模型的词向量化文本分类算法


    基于 word2vec 实现文本分类
    目录
    基于 word2vec 实现文本分类 1
    实验目的及实验内容 1
    实验目的: 1
    实验内容: 1
    原理分析: 1
    实验环境 6
    实验结果总结 17
    实验环境
    (本次实验所使用的器件、仪器设备等的情况)
    处理器:Intel® Core™ i5-9300H CPU @ 2.40GHz 2.40 GHz
    操作系统环境:Windows 10 家庭中文版 x64 19042.867
    编程语言:Python 3.8
    其他环境:16 GB 运行内存
    IDE 及包管理器:JetBrains PyCharm 2020.1 x64, anaconda 3 for Windows(conda 4.9.0)
    实验步骤及实验过程分析
    (详细记录实验过程中发生的故障和问题,进行故障分析,说明故障排除的过程及方法。根据具体实验,记录、整理相应的数据表格、绘制曲线、波形等)
    说明:
    由于随机数种子设置等情况,本文转载自http://www.biyezuopin.vip/onews.asp?id=16705本篇实验报告所记录的内容仅为写报告时(2021/04/23)的情况,可能与实际实验时(2021/04/18)结果有出入。
    一切以实际运行时所得到的结果为准。
    基于 word2vec 实现文本分类
    安装并导入工具包:本实验主要使用到的工具包有 gensim 包,jieba 包,numpy 包和 r e 包等。

    # -*- coding: utf-8 -*-
    from utils_w2v import TASK
    import matplotlib.pyplot as plt
    import numpy as np
    import os
    import torch
    
    
    def main():
        if not os.path.exists('../data'):
            print('No source data file!')
            print("Need folder named 'data' unzipped from 'data.zip'!")
            return
    
        plt.rcParams['font.sans-serif'] = ['SimHei']
        plt.rcParams['axes.unicode_minus'] = False
        np.random.seed(100)
        torch.cuda.manual_seed(100)
        rate = 0.7
        keyword_num_list = [1, 3, 5, 10, 15, 20, 30, 50, 100]
    
        tar = TASK()
        tar.get_corpus()
        tar.get_model()
        tar.train_frequency(rate)
    
        print('\n计算准确率')
        acc_list = []
        for keyword_num in keyword_num_list:
            average_class_dic = tar.average_class_vector(keyword_num)
            res = tar.acc(keyword_num, rate, average_class_dic)
            acc_list.append(round(res, 3))
    
        fig = plt.figure()
        ax = fig.add_subplot(1, 1, 1)
        ax.set_title('关键词个数与准确率间的关系')
        ax.set_xlabel('关键词个数')
        ax.set_ylabel('准确率')
        plt.plot(keyword_num_list, acc_list, color='black', markerfacecolor='r', marker='o')
        for a, b in zip(keyword_num_list, acc_list):
            plt.text(a, b, (a, b), ha='center', va='bottom', fontsize=10)
        plt.show()
    
    
    if __name__ == '__main__':
        main()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    力扣55. 跳跃游戏(动态规划)
    Go | 函数注意事项
    node的api使用——URL——get方法——网页爬虫——node事件——path路径——判断文件类型——fs四种异步封装——客户端文件验证发送
    Redis 清空数据库
    如何免费获取CDH集群技术支持
    Nodejs初识
    软考系统架构师知识点集锦一:系统工程与信息系统基础
    docker elasticsearch 7.16.3安装ik分词器
    beamManagement(四)connected mode UL training
    计算机毕设(附源码)JAVA-SSM京津冀畅游网设计
  • 原文地址:https://blog.csdn.net/sheziqiong/article/details/126794409