lstm训练情感分析的优点_使用LSTM进行文本情感分析

文本情感分析(Sentiment Analysis)是自然语言处理(NLP)方法中常见的应用,也是一个有趣的基本任务,尤其是以提炼文本情绪内容为目的的分类。它是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程。本文将介绍情感分析中的情感极性(倾向)分析。所谓情感极性分析,指的是对文本进行褒义、贬义、中性的判断。在大多应用场景下,只分为两类。例如对于“喜爱”和“厌恶”这两个词,就属于不同的...
摘要由CSDN通过智能技术生成

文本情感分析(Sentiment Analysis)是自然语言处理(NLP)方法中常见的应用,也是一个有趣的基本任务,尤其是以提炼文本情绪内容为目的的分类。它是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程。

本文将介绍情感分析中的情感极性(倾向)分析。所谓情感极性分析,指的是对文本进行褒义、贬义、中性的判断。在大多应用场景下,只分为两类。例如对于“喜爱”和“厌恶”这两个词,就属于不同的情感倾向。

一.流程分析

1、创建train reader 和 test_reader

2、创建lstm模型

3、定义 words、label 张量

4、优化函数、损失函数

5、训练 & 保存模型

6、使用模型进行预测

二、源代码

# coding=utf-8

import os

from multiprocessing import cpu_count

import numpy as np

import paddle

import paddle.fluid as fluid

class classify():

data_root_path = ""

dict_path = "data/data9045/dict.txt"

model_save_dir = "work/model_baseline/"

test_data_path = "data/data9045/Test_IDs.txt"

save_path = 'work/result.txt'

# 获取字典长度

def get_dict_len(d_path):

with open(d_path, 'r', encoding='utf-8') as f:

line = eval(f.readlines()[0])

return len(line.keys())

# 1、创建train reader 和 test_reader

def data_mapper(sample):

data, label = sample

data = [int(data) for data in data.split(',')]

return data, int(label)

# 创建数据读取器train_reader

def train_reader(train_data_path):

def reader():

with open(train_data_path, 'r') as f:

lines = f.readlines()

np.random.shuffle(lines)

for line in lines:

# print (line)

data, label = line.split('\t')

yield data, label

return paddle.reader.xmap_readers(classify.data_mapper, reader, cpu_count(), 1024)

# 创建数据读取器val_reader

def val_reader(val_data_path):

def reader(

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值